从整个网站下载预防?

时间:2010-08-30 05:59:06

标签: iptables yii

有一个IP(来自中国)试图下载我的整个网站。它下载我的所有页面并显着加载服务器(我有超过500 000页)。查看访问日志,我可以说它绝对不是谷歌机器人或任何其他搜索引擎机器人。

暂时我已经禁止它(使用iptables规则),但它不适合我,因为我的一些真实用户也拥有相同的IP,所以它们也被禁止,无法访问网站。

有没有办法阻止这种“用户活动”?如果你尝试每秒请求超过5个请求,可能是一种实现验证码的机制?

P.S。我正在使用Yii框架(PHP)。

非常感谢任何建议。

谢谢你!

2 个答案:

答案 0 :(得分:5)

您已回答了自己的问题!

如果请求超过每秒或每分钟的特定数量,则会显示captcha

您应该使用CCaptchaAction来实施,例如this

答案 1 :(得分:0)

我想监控可疑用户活动的最佳方式是用户会话,CWebUser的{​​{1}} / getState()。将当前请求时间存储在用户会话中,将其与之前的几个值进行比较,如果用户经常提出请求,则显示验证码。

创建新组件,通过setState()预加载并检查组件CWebApplication::$preload功能中的用户活动。通过这种方式,您可以轻松地打开和关闭机器人检查。