什么是防止使用脚本滥用访问您的网站的最佳方法是什么?

什么是防止有人滥用使用脚本访问您的网站的最佳方法?

你似乎在谈论的是拒绝服务攻击。 这只是一个可用资源的问题(在指定的时间范围内可用)。

所以,正如jldugger所build议的那样,您将希望使用mod_evasive将您的Web服务器configuration为只接受来自始发系统的一定数量的请求。 但是,这并不能阻止坏人发起分布式拒绝服务攻击。 您可以通过增加可用计算资源并将您的负载分配到多台计算机上来避免这种情况。

你最好的select实际上是偏执狂 。 拒绝为所有人服务,除了特定的白名单上的服务。 当然,这只适用于这不是公共场所。

提供一个合理的API ,并大量提示可接受的网页抓取指南 。 mod_evasive可以阻止那些忽略join睡眠例程的人,并淹没你的服务器。

试图防止网页浏览本身是一个愚蠢的 – 一台电脑把你的网页数据放在一起供人类观看,一台电脑可以把它分开。 试图把这个精灵放回瓶子里会损害绝大多数现有用户,只能提供一个对你的目标的速度撞击。

mod_evasive仍然可以通过很多不受欢迎的stream量。 我在另一个答案中解释更多关于它的弱点。

我已经看到http://www.fail2ban.org/build议,这将解决mod_evasive的缺点,但我还没有尝试过自己。