php獲取用戶ip地址,上海市中英文核酸檢測機構

本文目錄一覽:

PHP如何獲取用戶的真實IP?

php獲取用戶真實ip的方法:

方法1:

//獲取REMOTE_ADDR屬性,直接可以得到ip

$ip = $_SERVER[“REMOTE_ADDR”];

echo $ip;

方法2:

//從Server中獲取HTTP_VIA,如果獲取到就用HTTP_X_FORWARDED_FOR的值替換,如果獲取不到就取REMOTE_ADDR的值。

$user_IP = ($_SERVER[“HTTP_VIA”]) ? $_SERVER[“HTTP_X_FORWARDED_FOR”] :

$_SERVER[“REMOTE_ADDR”];

$user_IP = ($user_IP) ? $user_IP : $_SERVER[“REMOTE_ADDR”];

echo $user_IP;

方法3:

function getRealIp()

{

$ip=false; //初始化ip為false

if(!empty($_SERVER[“HTTP_CLIENT_IP”])){ //如果HTTP_CLIENT_IP不為空

$ip = $_SERVER[“HTTP_CLIENT_IP”]; //獲取HTTP_CLIENT_IP的值

}

if (!empty($_SERVER[‘HTTP_X_FORWARDED_FOR’])) { //如果HTTP_X_FORWARDED_FOR不為空

$ips = explode (“, “, $_SERVER[‘HTTP_X_FORWARDED_FOR’]);

//把HTTP_X_FORWARDED_FOR的值用,分割後存放數組ips

if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }//遍歷處理

for ($i = 0; $i count($ips); $i++) {

if (!eregi (“^(10│172.16│192.168).”, $ips[$i])) {

$ip = $ips[$i]; //獲得真實ip

break;

}

}

}

return ($ip ? $ip : $_SERVER[‘REMOTE_ADDR’]);

}

echo getRealIp();

使用PHP怎樣獲得客戶端IP地址?

function getIp()

{

if ($_SERVER[“HTTP_CLIENT_IP”] strcasecmp($_SERVER[“HTTP_CLIENT_IP”], “unknown”)) {

$ip = $_SERVER[“HTTP_CLIENT_IP”];

} else {

if ($_SERVER[“HTTP_X_FORWARDED_FOR”] strcasecmp($_SERVER[“HTTP_X_FORWARDED_FOR”], “unknown”)) {

$ip = $_SERVER[“HTTP_X_FORWARDED_FOR”];

} else {

if ($_SERVER[“REMOTE_ADDR”] strcasecmp($_SERVER[“REMOTE_ADDR”], “unknown”)) {

$ip = $_SERVER[“REMOTE_ADDR”];

} else {

if (isset ($_SERVER[‘REMOTE_ADDR’]) $_SERVER[‘REMOTE_ADDR’] strcasecmp($_SERVER[‘REMOTE_ADDR’],

“unknown”)

) {

$ip = $_SERVER[‘REMOTE_ADDR’];

} else {

$ip = “unknown”;

}

}

}

}

return ($ip);

}

echo getIp();

php怎樣獲取用戶真實ip?

獲取客戶端ip其實不是個簡單的事兒,因為存在IP欺騙,和代理問題,所以獲取客戶端的IP的真實性會打折扣的,不能百分百準確。但是我們還是可以盡量寫一些比較完善的獲取客戶端真正ip方法。使用php獲取IP的方法能有很多,我簡單給個例子:

?php

function getip() { 

     $unknown = ‘unknown’; 

     if(isset($_SERVER[‘HTTP_X_FORWARDED_FOR’])  $_SERVER[‘HTTP_X_FORWARDED_FOR’]  strcasecmp($_SERVER[‘HTTP_X_FORWARDED_FOR’], $unknown)){ 

         $ip = $_SERVER[‘HTTP_X_FORWARDED_FOR’]; 

     }elseif(isset($_SERVER[‘REMOTE_ADDR’])  $_SERVER[‘REMOTE_ADDR’]  strcasecmp($_SERVER[‘REMOTE_ADDR’], $unknown)) { 

         $ip = $_SERVER[‘REMOTE_ADDR’]; 

     } 

     /**

      * 處理多層代理的情況

      * 或者使用正則方式:$ip = preg_match(“/[\d\.]{7,15}/”, $ip, $matches) ? $matches[0] : $unknown;

      */

     if (false !== strpos($ip, ‘,’)) $ip = reset(explode(‘,’, $ip)); 

     return $ip; 

?

1、沒有使用代理的情況

REMOTE_ADDR = 客戶端IP

    HTTP_X_FORWARDED_FOR = 沒數值或不顯示

2、使用透明代理的情況

REMOTE_ADDR = 最後一個代理服務器 IP

    HTTP_X_FORWARDED_FOR = 客戶端真實 IP (經過多個代理服務器時,這個值類似:        221.5.252.160, 203.98.182.163, 203.129.72.215)

    這類代理服務器還是將客戶端真實的IP發送給了訪問對象,無法達到隱藏真實身份的目的.

3、使用普通的匿名代理

REMOTE_ADDR = 最後一個代理服務器 IP

    HTTP_X_FORWARDED_FOR = 代理服務器 IP (經過多個代理服務器時,這個值類似:        203.98.182.163, 203.98.182.163, 203.129.72.215)

    這種情況下隱藏了客戶端的真實IP,但是向訪問對象透露了客戶端是使用代理服務器訪問它        們的.

4、使用欺騙性代理服務器

REMOTE_ADDR = 代理服務器 IP

    HTTP_X_FORWARDED_FOR = 隨機的 IP(經過多個代理服務器時,這個值類似:                    220.4.251.159, 203.98.182.163, 203.129.72.215)

    這種情況下同樣透露了客戶端是使用了代理服務器,但編造了一個虛假的隨機                            IP(220.4.251.159)代替客戶端的真實IP來欺騙它.

5、使用高級匿名代理服務器

REMOTE_ADDR = 代理服務器 IP

    HTTP_X_FORWARDED_FOR = 沒數值或不顯示,也可能是unknown

原創文章,作者:JBBY,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/143912.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
JBBY的頭像JBBY
上一篇 2024-10-24 15:26
下一篇 2024-10-24 15:26

相關推薦

  • cma和cnas認證的檢測機構區別

    一、cma和cnas認證的基本概念 cma認證(中國計量認證)是由中國國家認監委授權中國計量科學研究院負責實施的產品計量檢測機構認證。 cnas認證(中國合格評定國家認可委員會)是…

    編程 2025-04-12
  • Python實現多值字典與中英文數字互轉:cnvalues測試

    一、多值字典實現 多值字典指的是一個鍵可以對應多個值的字典。Python中可以通過字典的鍵對應一個列表或集合來實現多值字典。例如: multi_dict = {‘key1’: [1…

    編程 2025-01-14
  • phpcli參數,上海市中英文核酸檢測機構

    本文目錄一覽: 1、如何在命令行下運行PHP腳本[帶參數] 2、執行php.exe程序cli提示錯誤如何解決 3、PHP 和cli 有什麼關係 運行一個PHP文件 報錯,該如何解決…

    編程 2024-12-15
  • 漢字轉ASCII碼,讓你輕鬆實現中英文互轉

    現在,我們需要在中國與世界各國的交流中使用英文字符,但是漢字有其獨特的表達方式和意義,因此,將漢字轉換為ASCII碼是必不可少的一項技能。這篇文章將詳細介紹對中文字符進行編碼轉換的…

    編程 2024-12-12
  • 加載中英文的詳細闡述

    一、加載中英文怎麼說 加載在英文中的正確翻譯為Loading,常用於計算機領域,特別是軟件、應用程序和網站的開發中。此外,在物流、運輸和貨運等領域,也常使用Loading。 二、加…

    編程 2024-12-11
  • php中英文輸出自動換行,PHP換行

    本文目錄一覽: 1、如何讓php的輸出文本自動換行 2、PHP怎樣才能讓輸出的內容自動換行 3、php輸出文本如何自動換行? 4、PHP輸出換行問題 如何讓php的輸出文本自動換行…

    編程 2024-12-05
  • cad中英文字體,cad文字中文

    本文目錄一覽: 1、CAD中英文字母和數字用什麼字體? 還有漢子用長仿宋,可是我CAD里只有仿宋,怎麼解決? 2、CAD中英文字體顯示問題 3、cad中英文字體名是什麼? 4、ca…

    編程 2024-12-02
  • 中英文轉換php,中英文轉換器在線翻譯

    本文目錄一覽: 1、php 中怎麼將中文與英文互換? 2、php網站中英文切換 3、PHP做的網站怎麼實現中文和英文、繁體中文語言切換? 4、PHP網站如何做中英文切換的功能 5、…

    編程 2024-11-27
  • python中英文時間轉換的簡單介紹

    本文目錄一覽: 1、python 時間的格式轉化,格式為20130415172500字符串轉為datetime類型 2、新手求教:python 時間格式轉換 3、python3 時…

    編程 2024-11-27
  • php判斷中英文,PHP判斷語句

    本文目錄一覽: 1、PHP指定截取字符串中的中英文或數字字符的實例分享 2、我用php寫的,我想判斷表單提交的內容是中文還是英文,要怎麼寫呢? 3、php分割中英文字符串的幾種方 …

    編程 2024-10-04

發表回復

登錄後才能評論