获取过滤器列表

get:/v1/cc-filters
integer:page=1#当前页码
integer:limit=10#单页显示数量
integer:internal_self#置为1时显示内置及自己的过滤器
integer:internal#置为1时,只显示内置过滤器
boolean:enable#显示禁用或启用的过滤器
<<<
返回结果
{
    "code": 0,
    "count": 1,
    "data": [
        {
            "c.uid": 2,
            "create_at": null,
            "create_at2": "2021-11-25 14:36:29",
            "des": "",
            "enable": 1,
            "extra": "{}",
            "id": 10021,
            "internal": 0,
            "max_req": 5,
            "max_req_per_uri": 0,
            "name": "验证码",
            "state": null,
            "task_id": null,
            "type": "captcha_filter",
            "uid": 2,
            "update_at": null,
            "update_at2": "2021-11-25 14:36:29",
            "username": "jason",
            "version": 1,
            "within_second": 60
        }
    ]
}

新增过滤器

post:/v1/cc-filters
*string:name#过滤器名称
des#备注
*type#类型,可选为req_rate、302_challenge、browser_verify_auto、slide_filter、captcha_filter、click_filter、url_auth、delay_jump_filter
*integer:within_second#在指定的秒数下统计
*integer:max_req#在within_second秒数内最大请求数
max_req_per_uri#统计同一个uri请求的次数。当类型为req_rate时,才需要填写。
json:extra#此字段为json类型,用于设置url鉴权。当类型为url_auth时才需要填写。当键值mode为TypeA时,需要提供key、sign_name、time_name、time_diff、sign_use_times;当mode为TypeB时,需要提供key、sign_name、time_diff、sign_use_times。key为密钥,sign_name为sign的参数数,time_name为time的参数名,time_diff为相当的时间,sign_use_times为签名可以用的次数。
<<<
返回结果
{
  "code": 0, 
  "data": "1", 
  "msg": "过滤器添加成功"
}
<<<
提交内容
{
	"name": "5秒验证",
	"des": "",
	"type": "delay_jump_filter",
	"within_second": "60",
	"max_req": "5",
	"max_req_per_uri": "",
	"extra": {}
}

批量修改过滤器 (数据格式为数组)

put:/v1/cc-filters
integer:id#过滤器ID
string:name#过滤器名称
des#备注
type#类型,可选为req_rate、302_challenge、browser_verify_auto、slide_filter、captcha_filter、click_filter、url_auth、delay_jump_filter
integer:within_second#在指定的秒数下统计
integer:max_req#在within_second秒数内最大请求数
max_req_per_uri#统计同一个uri请求的次数。当类型为req_rate时,才需要填写。
json:extra#此字段为json类型,用于设置url鉴权。当类型为url_auth时才需要填写。当键值mode为TypeA时,需要提供key、sign_name、time_name、time_diff、sign_use_times;当mode为TypeB时,需要提供key、sign_name、time_diff、sign_use_times。key为密钥,sign_name为sign的参数数,time_name为time的参数名,time_diff为相当的时间,sign_use_times为签名可以用的次数。
<<<
返回结果
{
  "code": 0, 
  "data": "", 
  "msg": "更新过滤器成功"
}
<<<
提交内容
[{
	"id": 1,
	"enable": 0
}, {
	"id": 2,
	"enable": 0
}]

获取单个过滤器

get:/v1/cc-filters/<过滤器ID>
<<<
返回结果
{
    "code": 0,
    "data": {
        "create_at": null,
        "des": "",
        "enable": 1,
        "extra": "{}",
        "id": 10021,
        "internal": 0,
        "max_req": 5,
        "max_req_per_uri": 0,
        "name": "验证码",
        "task_id": null,
        "type": "captcha_filter",
        "uid": 2,
        "update_at": null,
        "version": 1,
        "within_second": 60
    },
    "msg": ""
}

修改单个过滤器

put:/v1/cc-filters/<过滤器ID>
string:name#过滤器名称
des#备注
type#类型,可选为req_rate、302_challenge、browser_verify_auto、slide_filter、captcha_filter、click_filter、url_auth、delay_jump_filter
integer:within_second#在指定的秒数下统计
integer:max_req#在within_second秒数内最大请求数
max_req_per_uri#统计同一个uri请求的次数。当类型为req_rate时,才需要填写。
json:extra#此字段为json类型,用于设置url鉴权。当类型为url_auth时才需要填写。当键值mode为TypeA时,需要提供key、sign_name、time_name、time_diff、sign_use_times;当mode为TypeB时,需要提供key、sign_name、time_diff、sign_use_times。key为密钥,sign_name为sign的参数数,time_name为time的参数名,time_diff为相当的时间,sign_use_times为签名可以用的次数。
<<<
返回结果
{
  "code": 0, 
  "data": "", 
  "msg": "更新过滤器成功"
}
<<<
提交内容
{
  "name": "新名称", 
}

删除过滤器

delete:/v1/cc-filters/<过滤器ID,多个以逗号分隔>
<<<
返回结果
{
  "code": 0, 
  "data": "", 
  "msg": "过滤器删除成功"
}