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 为错误内容