6 referer_Mod - starjun/starjun.github.io GitHub Wiki
referer_Mod referer规则模块
该模块是整个访问控制规则的 第6步 用于配置referer访问控制的
[
{
"state": "on",
# 该条规则开关(on/off)
"uri": ["^/abc.do$","jio"],
# uri匹配规则
# 第一个参数:匹配内容,第二个:匹配方式(这里是正则匹配)
"hostname": ["pass.game.com",""],
# host 匹配规则
# 第一个参数:匹配内容,第二个:匹配方式(这里是字符串等于)
"referer": ["^.*/(www\\.hao123\\.com|www3\\.hao123\\.com)$","jio",true],
# referer 匹配规则
# 第一个参数:匹配内容,第二个:匹配方式(这里是正则),第三个:是否取反(默认false不取反)
"action":"deny"
# 执行动作:拒绝
},
{
"state": "on",
"uri": ["\\.(gif|jpg|png|jpeg|bmp|ico)$","jio"],
"hostname": ["localhost",""],
"referer": ["*",""],
"action":"allow"
# 执行动作:允许
},
... # 下一条referer匹配规则
]
数据请求样式
URI: http://%ip:%port/api/v2/config_dict
查询操作:
1:查询所有
GET/POST querystring:
action=get&mod=referer_Mod
2:查询指定id (支持子节点查询,eg: 1@state)
GET/POST querystring:
action=get&mod=referer_Mod&id=1
action=get&mod=host_method_Mod&id=1@state
设置操作:
1:修改整体
GET/POST querystring:
action=set&mod=referer_Mod&value=
[
{
"state": "on",
"uri": ["^/abc.do$","jio"],
"hostname": ["pass.game.com",""],
"referer": ["^.*/(www\\.hao123\\.com|www3\\.hao123\\.com)$","jio",true],
"action":"deny"
},
{
"state": "on",
"uri": ["\\.(gif|jpg|png|jpeg|bmp|ico)$","jio"],
"hostname": ["localhost",""],
"referer": ["*",""],
"action":"allow"
}
]
2:修改单个
GET/POST querystring:
action=set&mod=referer_Mod&id=1&value_type=json&value=
{
"state": "on",
"uri": ["\\.(gif|jpg|png|jpeg|bmp|ico)$","jio"],
"hostname": ["localhost",""],
"referer": ["*",""],
"action":"allow"
}
删除操作:
1:删除单个
GET/POST querystring:
action=del&mod=referer_Mod&id=1
添加操作:
1:添加单个
GET/POST querystring:
action=add&mod=referer_Mod&value=
{
"state": "on",
"uri": ["\\.(gif|jpg|png|jpeg|bmp|ico)$","jio"],
"hostname": ["localhost",""],
"referer": ["*",""],
"action":"allow"
}
返回消息:
服务器失败:http code ~= 200
服务器成功:{code="ok/error",msg=...}
code = error ,执行状态错误,msg 为错误内容