Ip
如果我阻止使用空白 IP 地址的使用者,這會影響無辜的非技術使用者嗎?
我經營一個具有匿名評論功能的網站。使用者可以互相舉報濫用行為;標誌與 IP 地址相關聯(通過 PHP 從 中獲取
$_SERVER['REMOTE_ADDR']
)。我注意到 99% 的標誌是針對空白 IP 的。
我正在考慮發布一條消息,說“需要 IP 地址才能發表評論”並禁止使用空白 IP。
對於一個非惡意但只想要隱私的精通電腦的人,我並不太擔心。他們可以自行決定是否重視隱私或發表更多評論的能力。
我擔心的是阻止一個沒有意識到他們沒有 IP 地址的**非技術和非惡意使用者,因此當他們無法發表評論時會感到困惑。**有沒有可能發生這種情況的情況?
基於 IP 的網路的規則 #1。在其上進行通信的每個人都有一個 IP。您可以通過第三方偽裝它,但您仍然擁有公共 IP。沒有例外。Internet 是基於 IP 的網路。我懷疑你的程式碼中有一些錯誤的邏輯。
這些變數也有可能只是沒有返回預期的結果,因此是空白的。你可以嘗試這樣的事情:
if ($_SERVER["HTTP_X_FORWARDED_FOR"]) { if ($_SERVER["HTTP_CLIENT_IP"]) { $proxy = $_SERVER["HTTP_CLIENT_IP"]; } else { $proxy = $_SERVER["REMOTE_ADDR"]; } $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } else { if ($_SERVER["HTTP_CLIENT_IP"]) { $ip = $_SERVER["HTTP_CLIENT_IP"]; } else { $ip = $_SERVER["REMOTE_ADDR"]; } } echo "Your IP $ip<BR>\n"; if (isset($proxy)) { echo "Your proxy IP is $proxy<BR>\n"; }
從 PHP 手冊頁中收集到: http ://www.php.net/manual/en/language.variables.predefined.php#31724