有一个IP(来自中国)试图下载我的整个网站。它下载我的所有页面并显着加载服务器(我有超过500 000页)。查看访问日志,我可以说它绝对不是谷歌机器人或任何其他搜索引擎机器人。
暂时我已经禁止它(使用iptables规则),但它不适合我,因为我的一些真实用户也拥有相同的IP,所以它们也被禁止,无法访问网站。
有没有办法阻止这种“用户活动”?如果你尝试每秒请求超过5个请求,可能是一种实现验证码的机制?
P.S。我正在使用Yii框架(PHP)。
非常感谢任何建议。
谢谢你!答案 0 :(得分:5)
答案 1 :(得分:0)
我想监控可疑用户活动的最佳方式是用户会话,CWebUser
的{{1}} / getState()
。将当前请求时间存储在用户会话中,将其与之前的几个值进行比较,如果用户经常提出请求,则显示验证码。
创建新组件,通过setState()
预加载并检查组件CWebApplication::$preload
功能中的用户活动。通过这种方式,您可以轻松地打开和关闭机器人检查。