我把一些代碼在PHP文件的標題,以阻止代理:阻止代理與PHP
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| ($_SERVER['HTTP_USER_AGENT']=='')
|| ($_SERVER['HTTP_VIA']!='')) {
die("Don't use proxies, please.");
}
在member.php
我把上面的代碼和它的工作非常好,當有人要求example.com/member.php
與HTTP代理此代碼會阻止它們,但是當它們請求example.com/member.php?action=login
時,此代碼無法阻止它們!我該怎麼辦?提前致謝。
代理自願發送「X-Forwarded-For」頭。如果他們不這樣做,您無法知道用戶是否在代理之後。這通常是這種情況,特別是在匿名代理(即不發送「X-Forwarded-For」頭部的代理)的情況下尤其如此。我不知道你的代理問題到底是什麼,但是你正在爲失敗的事業而戰。 – zneak
1.'$ _SERVER ['HTTP_USER_AGENT'] =='''不會阻塞只使用代理的用戶,(另一方面)代理也可以發送用戶代理(如果他們喜歡的話)。 2.(只是好奇)爲什麼你想阻止使用代理的用戶?當他們想要使用代理時,我沒有看到真正的理由來禁止它。 – KingCrunch
所有thos變量都可能被捲曲欺騙,唯一的方法是記錄違規的ips,然後在防火牆或.htaccess文件中阻止它們。 –