安装了ngx_lua_waf后浏览几下网页就被封了ip

https://github.com/loveshell/...
按以上配置好waf,开启日志,及各个开关
浏览了几个正常的网址都正常,
比如说正常网址是www.abc.com/abc/
又开始做非法网址测试
www.ab.com/abc/?id=../etc/passwd
然后显示了被防的页面,也算waf正常起作用了
然后我看日志也记录了这个链接

然后我又调了一下config.lua后又重启nginx(测了nginx配置没问题)
然后再执行任务浏览就都无法访问了,不论重启nginx,重启服务器,删除waf所有文件等都还是无法浏览,最后换了一个不同ip的客户端浏览好了,反复试还都是封了当前的ip

我看了iptables -L并没有封的ip,现在完全晕中,求哪位大师帮忙说明一下原因,感激!

阅读 3.1k
1 个回答
# 看下源码

function denycc()
    if CCDeny then
        local uri=ngx.var.uri
        CCcount=tonumber(string.match(CCrate,'(.*)/'))
        CCseconds=tonumber(string.match(CCrate,'/(.*)'))
        local token = getClientIp()..uri
        local limit = ngx.shared.limit
        local req,_=limit:get(token)
        if req then
            if req > CCcount then
                 ngx.exit(503)
                return true
            else
                 limit:incr(token,1)
            end
        else
            limit:set(token,1,CCseconds)
        end
    end
    return false
end

数据存储到了这里:local limit = ngx.shared.limit

具体的找:ngx.shared.DICT 相关的内容吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题