由於IP可能被欺騙,如何建立一個能正確識別訪問者國家的PHP網站?限制訪問特定國家的PHP網站
0
A
回答
0
的Joomla一直使用以下函數來獲得IP地址,它是非常靈活的功能良好,可避免可能出現的作弊,你可以使用它:
function get_ip()
{
$ip = false;
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ips = explode (', ', $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip != false)
{
array_unshift($ips,$ip);
$ip = false;
}
$count = count($ips);
# exclude IP addresses reserved for LANs
for ($i = 0; $i < $count; $i++)
{
if (!preg_match("/^(10|172\.16|192\.168)\./i", $ips[$i]))
{
$ip = $ips[$i];
break;
}
}
}
if (false == $ip AND isset($_SERVER['REMOTE_ADDR']))
{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
1
這是本質上給出了互聯網的匿名性問題,但欺騙IP地址以獲取貴國不合法的內容在技術上在大多數地方是犯罪行爲。
您需要盡一切努力確保您的網站遵循媒體和信息的分發限制,但有些事情只是不切實際的防範。您可以得到的最接近的數據是通過實際的物理地址驗證,例如信用卡上的帳單地址或向某人寄送一個PIN碼以進行註冊,但這兩個選項都會代表用戶或您自己承擔費用。
相關問題
- 1. 限制網站訪問特定國家
- 2. 網站在特定國家的訪問受限制
- 3. 如何限制特定國家訪問我的網站?
- 4. 試圖限制我的網站到特定的國家
- 5. 特定國家限制Appstore
- 6. 如何在家中限制用戶訪問php網站?
- 7. 如何限制網站訪問僅限美國或北美
- 8. PHP根據國家阻止網站訪問
- 9. 限制訪問網站
- 10. 使用GAE限制對特定國家/地區用戶的訪問(Java)
- 11. 限制對特定用戶的網站公共頁面訪問
- 12. 我可以限制網站訪問特定的計算機嗎?
- 13. 如何限制只有美國的網站訪問
- 14. php:如何檢測網站的國家?
- 15. 如何限制從特定地理區域訪問網站
- 16. 各國的訪問限制
- 17. 識別我的網站訪問者的國家
- 18. 如何向PHP中特定國家/地區的網站訪問者顯示不同的內容?
- 19. 有沒有辦法阻止按國家訪問我的網站?
- 20. 限制訪問網站的部分(Django)
- 21. 訪問網站文件的限制
- 22. 限制訪問「admin」面板的網站?
- 23. 限制對SharePoint網站的訪問
- 24. 限制基於wifi的網站訪問
- 25. 限制訪問網站上的圖像
- 26. jQuery國家重定向門戶網站
- 27. 如何限制谷歌自動填充到特定的國家?
- 28. 如何限制特定國家的增值稅
- 29. 網站訪問者人數限制
- 30. 限制網站訪問QR掃描僅
@Sarfraz,謝謝。我會試一試。不太清楚正則表達式濾除了什麼。 – cheapskate 2009-12-17 06:35:37
與使用代理相比,此代碼更容易失敗:只需將傳出請求中的標頭設置爲允許的IP。沒有代理需要。這是衆所周知的,例如在美國之外觀看喜劇中心。 – McPherrinM 2009-12-17 06:35:49
你可能是對的,但是在使用這個函數的時候我們還沒有看到joomla的任何問題。如果你看過一個,請告訴我們。謝謝 – Sarfraz 2009-12-17 06:42:46