获取过滤器列表
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": "过滤器删除成功"
}