【问题标题】:Prevention from entire website downloading?防止整个网站下载?
【发布时间】:2011-01-20 17:31:58
【问题描述】:

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

我暂时封禁了(使用iptables规则),但对我来说不是解决方案,因为我的一些真实用户也有相同的IP,所以他们也被封禁了,无法访问网站。

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

附:我正在使用 Yii 框架 (PHP)。

非常感谢任何建议。

谢谢!

【问题讨论】:

    标签: iptables yii


    【解决方案1】:

    您已经回答了自己的问题!

    如果请求每秒或每分钟超过一定数量,则显示captcha!

    你应该使用CCaptchaAction来实现,比如this。

    【讨论】:

    • 我的意思是我应该如何实现它? :D 用户会话?
    【解决方案2】:

    我想监控可疑用户活动的最佳方法是真正的用户会话,CWebUser 的getState()/setState()。将当前请求时间存储在用户会话中,将其与之前的几个值进行比较,如果用户请求过于频繁,则显示验证码。

    创建新组件,通过CWebApplication::$preload 预加载并检查组件init() 函数中的用户活动。这样您就可以轻松打开和关闭机器人检查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-31
      • 2011-01-06
      • 2019-07-27
      • 1970-01-01
      • 2010-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多