如果来自一个来源的请求过多,许多大型网站都会阻止访问。但大型提供商代理也会表现出类似的访问。那么服务器应该如何区分这些请求?合法的代理需要什么行为才能不触发阻止?
答案1
大多数网站都会检查开放代理,也许会抓取一些代理列表并检查各种黑名单。
然后随着时间的推移和滥用行为的增加,管理员就会将 IP 列入黑名单和/或限制 IP 阻止。例如,如果你从中国获得大量可疑流量,而你的网站甚至不是针对他们的,那么阻止来自他们的 IP 范围的流量是一种相当常见的做法(互联网号码分配机构和这里'这是某人通过挖掘 APNIC 记录得出的列表)。
在这之后,问题就归结为您运营的网站以及这些用户对您的业务有多重要。Google 只是使用 CAPTCHA 来限制资源滥用,我相信如果有必要,他们会采取更严厉的措施(甚至通过 BGP 更改 AS PATH)。
因此,如果您可以验证 IP 背后的用户,并且他们的行为与正常使用一致,那么它可能只是某些办公室的透明企业/公司代理。(对于监控使用模式,您可以尝试使用某种 IPS/IDS 和根据您的需求定制的自定义 HTTP 过滤器。)
答案2
他们可能会将代理的 IP 地址添加到某种白名单中,以便流量过滤软件忽略它们。
答案3
一个更普遍的问题是“我该如何处理从同一 IP 地址接收恶意和良性流量?”
除了开放(和付费)代理之外,您可能还拥有一个合法用户,但他/她却不知情,并托管了垃圾邮件机器人。或者是一家拥有大型 NAT 的公司隐藏了垃圾邮件机器人。或者整个国家/地区都会向您发送垃圾邮件和真实用户。
这些流量的比例也不同。我运营的网站有以下几个例子:到目前为止,我从 WebSense IP 地址收到的所有流量 100% 都是垃圾邮件发送者,除了来自塞内加尔的一位客户外,其余都是垃圾邮件发送者。另一方面,中国向我发送了大约 25% 的真实流量和 75% 的垃圾邮件机器人。
阻止来自这些 IP 或网络块的所有请求始终会产生误报率,但您不必阻止全部阻止 IP 地址时,请求会减少。如果您遇到博客评论或论坛垃圾邮件问题,您可以尝试限制POST
来自违规 IP 地址的请求。
<Limit POST>
Deny from 192.0.2.1
Deny from 198.51.100.2
Deny from 203.0.113.3
</Limit>
您可以将 IP 地址用作垃圾邮件评分系统的一部分,而不是阻止 IP 地址。如果您有针对垃圾邮件的贝叶斯评分系统,只需将用户的 IP 地址添加到令牌中即可。总是发送垃圾邮件的地址将获得高分,不发送垃圾邮件的地址将获得低分,而同时拥有两种类型用户(例如代理)的地址将徘徊在中间,因此系统会根据其邮件内容而不是 IP 地址来判断它们。
您甚至可以完全忽略 IP 地址,仅根据内容本身来判断所有提交的内容,而不是其来源 IP 地址的声誉。
虽然我自己没有这样做过,但您可以配置 fail2ban 来读取您的垃圾邮件评分日志,并将最严重违规者的 IP 地址放入文件中,.htaccess
以便 IP 地址禁令在一定时间后失效。