loveshell/ngx_lua_waf — pull request #13 by losingle (2013-12-10 05:57:49+00:00)
Title: ADD uri检查列表，同一个IP不能频繁请求这个列表中的uri，遵循CC的策略

因为最近我的服务器遭受到几百个IP规模的CC攻击
攻击特点是，多个链接轮训的加入了一个时间戳的参数，所以导致现有的denycc无效。

于是我针对我碰到的情况，加入了这个特性：
1. 只要频繁的请求uriChecklist中的uri（只要以配置的uri开始），就遵循denycc的策略，将其视为是请求同一个链接。
然后请求者的IP加入ipBlocklist，最后执行blockip()

blockip()应该是被遗漏了，不然我也不会在denycc()里面直接调用。
这样直接导致了没有开启denycc，IP黑名单功能也失效。所以这里应该是一个Bug.

denycc的改善想法
如果只有几个页面链接，没有JavaScript，样式，图片等资源文件的频繁请求，就可以当作是攻击者IP处理，这样对于web系统来说不会出现误判。
这个目前只是想法，有时间我去实践一下。

代码是临时学习Lua写的，所以质量可想象，甚至还有可能有严重的Bug。