Skip to content

4 host_Mod

star edited this page Sep 19, 2018 · 5 revisions

host_Mod 基于域名网站的私有规则模块

(对应配置文件:conf_json/host_json/host_Mod.json 开关配置 conf_json/host_json/xxx.json 具体xxx域名的规则配置)

该模块是整个访问控制的 第四步 ,是基于host的私有规则配置,和其他 host 不会有交叉影响

所有域名的总开关配置

[
    ["127.0.0.1","on"],
    # 第一个参数:域名名称(host),第二个:开关(on/log/off)
    ["localhost","on"],
    ["pass.game.com","off"],
    ["101.200.122.200","log"],
    ... # 其他域名开关规则
]

对应域名的访问控制规则


[

    {
        "state": "on",
        # 本条规则开关 (on = 开启,off = 关闭)
        "action": ["allow","uri"],
        # 第一个参数是:执行动作,第二个:匹配字段
        "uri": ["\\.(css|js|flv|swf|woff|txt)$","jio"]
        # 匹配uri的条件 这里是用正则进行匹配
        # 第一个参数:匹配内容,第二个:匹配方式
    }, # 此规则写法 在 1.7.1.1 后不再支持
    {
        "state": "on",
        "action":["log","referer"],
        # 第一个参数是:执行动作,第二个:匹配字段
        "uri": ["\\.(gif|jpg|png|jpeg|bmp|ico)$","jio"],
        "referer": ["hao123","in",true]
        # 匹配referer  这里是要匹配 referer不包含hao123
        # 第一个参数:匹配内容,第二个:匹配方式,第三个:是否取反
    },# 此规则写法 在 1.7.1.1 后不再支持
    {
        "state": "on",
        "action":["deny","useragent"],
        "useragent": ["baidu","in"]
    },# 此规则写法 在 1.7.1.1 后不再支持
    {
        "state": "on",
        "action":"deny",
        # 第一个参数是:执行动作,第二个:匹配字段(app_ext:表示规则组)
        "uri": ["/post.html",""],
        "post_form":1024,
        # 这个参数 是配置取post内容长度参数,base.json中也会有,两者取最小的为准
        "app_ext":[
        ["post_form",["\\.(jpg|jpeg|png|webp|gif)$","jio",["image0",2],true],"or"],
        # 第一个参数 表示匹配位置 第二个参数 是匹配规则
        # 匹配规则中 第一个参数:匹配内容,第二个:匹配方式,第三:匹配名称和匹配位置,第四个:连接符 (and/or)
        ["post_form",["(;|-|/)","jio",["image0",2]]]
        # 匹配规则中 第四个参数 默认是 and
        ]
    }, # 在 1.7.1.1 新的写法
    {
        "state": "on",
        "action":"deny",
        "network":{"maxReqs":30,"pTime":10,"blackTime":600},
        # 频率规则 第一个参数:单位时间访问最大值,第二个:单位时间,第三个:封锁时间 
        "uri": ["/index.html",""]
    }  # 在 1.7.1.1 新的写法
]
Clone this wiki locally