【问题标题】:How to completely detect Proxies using PHP如何使用 PHP 完全检测代理
【发布时间】:2013-02-22 12:15:49
【问题描述】:

我想在有人进入我的网站之前全面检测代理,以防止欺诈行为。

PHP 中是否有任何脚本可以实际检测所有代理,例如透明、匿名、高匿名、Socks、Tor 等?

我有一个代码,但我不确定它是否会过滤所有代理:

$proxy_headers = array(
        'HTTP_VIA',
        'HTTP_X_FORWARDED_FOR',
        'HTTP_FORWARDED_FOR',
        'HTTP_X_FORWARDED',
        'HTTP_FORWARDED',
        'HTTP_CLIENT_IP',
        'HTTP_FORWARDED_FOR_IP',
        'VIA',
        'X_FORWARDED_FOR',
        'FORWARDED_FOR',
        'X_FORWARDED',
        'FORWARDED',
        'CLIENT_IP',
        'FORWARDED_FOR_IP',
        'HTTP_PROXY_CONNECTION'
    );
    foreach($proxy_headers as $x){
        if (isset($_SERVER[$x])) die("You are using a proxy!");
    }

有人可以帮助我创建一个完整的解决方案来阻止任何代理流量进入我的网站吗?

【问题讨论】:

  • 为什么要阻止代理?他们不是邪恶的。许多人需要使用代理,因为他们的国家/地区存在一些……问题。或者他们只是坐着工作。
  • 你搜索过吗?标头不会过滤所有代理,例如 Tor 不会发送它们。你需要一份黑名单。
  • 所以只有获得黑名单,我才能检测到不发送标头的高级匿名代理、tor 等?没有别的办法了吗?
  • 这更像是用身份证来识别窃贼。

标签: php proxy fraud-prevention


【解决方案1】:

我想在有人进入我的网站之前全面检测代理,以防止欺诈行为。

这根本没有意义。代理有很多完全合法的用例。此外,恶意代理用户可以删除这些标头,以及任何其他表明他们可能正在使用代理的迹象。

检测代理用户的唯一真正安全的方法是列出所有存在的代理 IP。

我会取消它,并花时间建立更有用的安全措施。随着时间的推移,一种可能会变得有用的功能是能够轻松阻止某些 IP 甚至是麻烦制造者使用的 IP 范围。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多