【问题标题】:How can I prevent my website from being "hit-boosted"?如何防止我的网站被“提升”?
【发布时间】:2012-07-28 01:22:48
【问题描述】:

我正在制作一个社交网站,用户可以在其中发布内容并且内容具有浏览量。每当来自不同 IP 地址的用户查看内容时,查看次数就会增加;来自同一 IP 地址的多个请求不计算在内。然而最近有人正在迭代代理列表或其他东西并人为地增加视图计数。我怎样才能防止这种情况?我可以通过检查标题或其他东西来做些什么吗?谢谢。

【问题讨论】:

标签: php python http header hit


【解决方案1】:

最好的方法是模式识别,因为大多数代理不会告诉您它们是代理:如果您看到某些流量高峰,请标记它们并且不要将它们添加到命中计数中。

或者,如果他一遍又一遍地使用相同的代理,只需将这些 IP 地址列入黑名单。您还可以尝试通过使用某种 API 代理列表服务或检查侦听代理服务器来检测代理。

【讨论】:

    【解决方案2】:

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

    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 ,并且有它的php实现https://github.com/joshtronic/php-projecthoneypot

    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 节点列表

    这就是我现在的想法,我希望这能回答你的问题

    【讨论】:

      猜你喜欢
      • 2013-10-29
      • 1970-01-01
      • 1970-01-01
      • 2013-09-18
      • 2019-03-01
      • 1970-01-01
      • 2014-10-03
      • 1970-01-01
      • 2014-10-14
      相关资源
      最近更新 更多