嗨,我正在创建一个游戏,我希望能够判断用户是否正在使用代理.如果它们比它基本上在他们的帐户上放置一个标志.我可以让它做旗帜,但我不确定如何判断用户是否正在使用代理.我已经看到你可以使用标题,但我不确定要查找哪些内容以及如何检查用户是否"有"标题(除了正常的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');
}
Run Code Online (Sandbox Code Playgroud)
所以这个代码大多数都可以工作,当用户是代理时,它会快速退出.但是当它们不是它需要永远加载(大约10秒).反正有没有使用这个脚本,但让它更快?
编辑2
将fsockopen上的超时从30更改为1,它的工作速度更快,并且仍在工作.感谢大家的建议:)
可能重复:
使用PHP获取用户真实IP地址
我想记录使用php脚本访问我网站的任何人的IP地址,以阻止可能的垃圾邮件发送者.有没有一种万无一失的方法来查找和记录任何人的真实IP地址或最可靠的方法?
更新:我的网站只要求用户输入密码,无需用户名.如果我想保留当前的验证方法,我可以使用哪些其他方法来阻止或阻止大多数垃圾邮件发送者?