大家好,我正在制作一款游戏,并希望能够判断用户是否使用代理。如果是的话,就在他们的账户上打上标记。我已经实现了打标记的功能,但我不确定如何判断用户是否在使用代理。我看到可以使用头文件,但我不确定要查找哪些头文件,以及如何检查用户是否“具有”头文件(除了正常的http_referrer等)。
非常感谢任何帮助。
编辑
if ( $_SERVER['HTTP_X_FORWARDED_FOR']
|| $_SERVER['HTTP_X_FORWARDED']
|| $_SERVER['HTTP_FORWARDED_FOR']
|| $_SERVER['HTTP_CLIENT_IP']
|| $_SERVER['HTTP_VIA']
|| in_array($_SERVER['REMOTE_PORT'], array(8080,80,6588,8000,3128,553,554))
|| @fsockopen($_SERVER['REMOTE_ADDR'], 80, $errno, $errstr, 30))
{
exit('Proxy detected');
}
这段代码大部分情况下都有效,当用户是代理时,它会快速退出。但当他们不是代理时,加载需要很长时间(约10秒)。有没有办法使用此脚本使其更快?
编辑2
将fsockopen的超时时间从30更改为1,它可以更快地工作,并且仍在工作中。感谢大家的建议 :)