91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php無法獲取真實ip怎么辦

發布時間:2020-10-12 16:21:18 來源:億速云 閱讀:212 作者:小新 欄目:編程語言

這篇文章主要介紹php無法獲取真實ip怎么辦,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

一、獲取用戶真實IP地址

 public static function getClientIp()
 {
 if (getenv('HTTP_CLIENT_IP')) {
  $ip = getenv('HTTP_CLIENT_IP');
 }
 if (getenv('HTTP_X_REAL_IP')) {
  $ip = getenv('HTTP_X_REAL_IP');
 } elseif (getenv('HTTP_X_FORWARDED_FOR')) {
  $ip = getenv('HTTP_X_FORWARDED_FOR');
  $ips = explode(',', $ip);
  $ip = $ips[0];
 } elseif (getenv('REMOTE_ADDR')) {
  $ip = getenv('REMOTE_ADDR');
 } else {
  $ip = '0.0.0.0';
 }

 return $ip;
 }

注意:

$_SERVER和getenv的區別,getenv不支持IIS的isapi方式運行的php。getenv(“REMOTE_ADDR”)函數在 apache下能正常獲取ip地址,而在iis中沒有作用,而$_SERVER['REMOTE_ADDR']函數,既可在apache中成功獲取訪客的ip地址,在iis下也同樣有效。

二、關于REMOTE_ADDR

這個變量獲取到的是《直接來源》的 IP 地址,所謂《直接來源》指的是直接請求該地址的客戶端 IP 。這個 IP 在單服務器的情況下,很準確的是客戶端 IP ,無法偽造。當然并不是所有的程序都一定是單服務器,比如在采用負載均衡的情況(比如采用 haproxy 或者 nginx 進行負載均衡),這個IP就是轉發機器的IP,因為過程是客戶端->負載均衡->服務端。是由負載均衡直接訪問的服務端而不是客戶端。

三、關于 HTTP_X_FORWARDED_FOR 和 HTTP_CLIENT_IP

在負載均衡的情況下直接使用 REMOTE_ADDR 是無法獲取客戶端 IP 的,這就是一個問題,必須解決。于是就衍生出了負載均衡端將客戶端 IP 加入到 HEAD 中發送給服務端,讓服務端可以獲取到客戶端的真實 IP 。當然也就產生了各位所說的偽造,畢竟 HEAD 除了協議里固定的那幾個數據,其他數據都是可自定義的。

以上是php無法獲取真實ip怎么辦的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西贡区| 彭州市| 长顺县| 辽阳县| 常德市| 汕尾市| 长岭县| 炎陵县| 东至县| 名山县| 丽水市| 富宁县| 金湖县| 赤水市| 根河市| 保靖县| 吐鲁番市| 延津县| 湘潭县| 博湖县| 客服| 穆棱市| 肇东市| 南通市| 朔州市| 嵊州市| 东乌珠穆沁旗| 唐海县| 酉阳| 马龙县| 文登市| 逊克县| 清原| 泗水县| 柏乡县| 嘉黎县| 垦利县| 灯塔市| 绥江县| 满洲里市| 江油市|