我知道这个问题已经被问过几次了,但我就是找不到解决办法!我拥有一个约会网站,并且与通过代理注册的人(我假设)和向我的用户发送垃圾邮件并创建虚假帐户有问题。
我如何检测用户是否支持 Vtunnel、Hidemyass、TOR 等代理。我知道没有保证的方法,但像 pof.com(大量鱼类)这样的网站具有出色的代理检测功能。
我只需要从某个地方开始......即使我可以检测到最流行的代理站点。
除非代理使用特殊标头,例如X-Forwarded-For
,否则您无法将其与普通用户区分开来。由于那些“黑色”代理并不那么幼稚(记住,它们的目的是保护用户),您唯一的选择是 IP 黑名单——就像Project Honeypot提供的黑名单一样。
依赖用户生成内容的约会网站和类似网站总是会面临这个问题。一个简单的检查是测试标头中是否有任何表明代理的内容。这可能会导致某些移动连接出现误报:
$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!");
}
这只会捕获最低质量的代理。匿名和开放代理总是会避开这些测试,因此您可以从那里检查 DNS 黑名单,例如项目蜜罐,尽管这仍然会在保护方面留下空白。
如果不构建您自己的精心设计的系统,阻止这些欺诈帐户的最佳方法是使用第三方服务,例如:FraudLabs、MaxMind 或IPQualityScore。其中一些确实提供每月查找的免费配额。
您应该查看IPDetector,它是一个 API,在其数据库中包含数百万个 IP 地址,它允许您检测 IP 是否良好(主机/VPN/代理...)
这是一个老问题。但是,过去几年 VPN 检测的重大发展可能有助于解决这个问题。在地理定位服务提供商从 IP 地址使用中收集到足够的数据后,可以使用 IP 地址范围来检测 VPN 提供商。
一个示例是使用诸如https://github.com/ip2location/ip2proxy-php之类的库,它为此目的查询商业或免费 IP2Proxy 数据库。