如何防止我的网站遭到“骚扰”?

时间:2012-07-28 01:22:48

标签: php python http header hit

我正在创建一个社交网站,用户可以在其中发布内容并且内容包含视图。每当来自不同IP地址的用户查看内容时,视图计数就会增加;来自同一IP地址的多个请求不计算在内。然而,最近有人通过代理列表或其他东西进行迭代,并人为地增加了视图数量。我怎么能阻止这个?我可以通过检查标题或其他东西来做些什么吗?感谢。

2 个答案:

答案 0 :(得分:2)

最好的方法是模式识别,因为大多数代理都不会告诉你它们是代理:如果你看到某些流量峰值,就标记它们并且不要将它们添加到hitcount中。 />
或者,如果他一遍又一遍地使用相同的代理,只需将这些IP地址列入黑名单。您还可以尝试使用某种API代理列表服务或检查侦听代理服务器来检测代理。

答案 1 :(得分:1)

有一些解决方案,但让我们解释一下这个问题

1-公共代理

公共代理总是向您的服务器发送包含用户真实IP的特殊标头(HTTP_X_FORWARDED_FOR) 你可以查询它

$remoteaddr =$_SERVER["REMOTE_ADDR"]; //proxy IP
$xforward = $_SERVER["HTTP_X_FORWARDED_FOR"]; //Real User IP

2-代理保护用户真正的IP

此类代理通过不发送真实用户ip保护其用户,您无法保护自己免受此代理的攻击,您所能做的就是获取此代理的更新列表并禁止它,无论如何大多数此类代理代理商不是免费代理,因此并非所有垃圾邮件用户都使用它

3-机器人和坏的ips

有机器人的公开列表并进行了更新 http://www.projecthoneypot.org ,并且有https://github.com/joshtronic/php-projecthoneypot

的php实现

4- Tor网络

您可以通过查询TorNodes中请求的IP来检测Tor网络 示例请求

https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=1.1.1.1&port=80

注意:1.1.1.1是您的服务器IP和端口是您的端口,请求回复可以通过该端口连接到该IP的Tor节点列表

这就是我现在的想法,我希望这些已经回答了你的问题