欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP中獲取內網用戶MAC地址(WINDOWS/linux)的實現(xiàn)代碼

 更新時間:2011年08月11日 22:23:48   作者:  
做一個內網根據(jù)MAC地址自動登錄的應用,在WINDOW 2003可以正常使用,函數(shù)如下
復制代碼 代碼如下:

function ce_getmac()
{
if(PHP_OS == 'WINNT')
{
$return_array = array();
$temp_array = array();
$mac_addr = "";
@exec("arp -a",$return_array);
foreach($return_array as $value)
{
if(strpos($value,$_SERVER["HTTP_CLIENT_IP"]) !== false &&
preg_match("/(:?[0-9a-f]{2}[:-]){5}[0-9a-f]{2}/i",$value,$temp_array))
{
$mac_addr = $temp_array[0];
break;
}
}
return $mac_addr ? strtoupper($mac_addr) : '';
}
else if(PHP_OS == 'Linux')
{
return true;
}
}

函數(shù)已經修改過了,到LINUX上發(fā)現(xiàn)不能使用EXEC函數(shù),也就是獲取不到MAC地址了。經過溝通,該項目必須部署在LINUX服務器下,筆者經過苦思冥想了半天終于找到了一個解決方案,不用執(zhí)行EXEC也可以獲取到內網用戶的MAC地址。
在內網服務器中,有一臺192.168.1.151的服務器,服務器上一個API,訪問這個API,就獲取用戶MAC,JOSN的方式輸出用戶賬號信息,因為該服務器可以獲取MAC,就可以稍加利用了。
使用CURL偽造來源IP方式(IP不是LINUX服務器的IP,是客戶端訪問的IP地址),CURL到151服務器,服務器得到相應,根據(jù)用戶IP地址 和ARP -A 參數(shù)的正則方式就可以得到客戶端的MAC地址,程序運行在151,而151是WINDOWS 2008服務器。但是要注意的是不能使用REMOTE_ADDR,必須使用HTTP_CLIENT_IP。 原因是HTTP_CLIENT_IP可以使用CURL偽造,這樣就可以使用LINUX獲取用戶IP,然后傳送給151處理。
疑問:根據(jù)用戶IP獲取MAC地址,那用戶換一個IP了怎么辦呢?使用CMD下 ARP -A分析,即使用戶跟換IP,但是對應該用戶的這臺計算機的MAC地址默認是不會更換的。

下面是摘抄網友的關于獲取IP的文章:
dz的代碼判斷IP那塊太讓人頭疼了,日,REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR三個東西在手冊上太不詳細了,基本上就等于沒有。
網上gg了一下,找到一點,另外,有一個思路太巧了,用JS取IP以后POST到服務器,Y的用代理騙服務器?有種上網先把Js給關了?。?!哦哈哈,以后有機會用ajax試一下,也省得用這三個變量if得死去活來了。

$_SERVER['...']; // for php
一、沒有使用代理服務器的情況:
REMOTE_ADDR = 您的 IP
HTTP_VIA = 沒數(shù)值或不顯示
HTTP_X_FORWARDED_FOR = 沒數(shù)值或不顯示
二、使用透明代理服務器的情況:Transparent Proxies
REMOTE_ADDR = 最后一個代理服務器 IP
HTTP_VIA = 代理服務器 IP
HTTP_X_FORWARDED_FOR = 您的真實 IP ,經過多個代理服務器時,這個值類似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
這類代理服務器還是將您的信息轉發(fā)給您的訪問對象,無法達到隱藏真實身份的目的。
三、使用普通匿名代理服務器的情況:Anonymous Proxies
REMOTE_ADDR = 最后一個代理服務器 IP
HTTP_VIA = 代理服務器 IP
HTTP_X_FORWARDED_FOR = 代理服務器 IP ,經過多個代理服務器時,這個值類似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
隱藏了您的真實IP,但是向訪問對象透露了您是使用代理服務器訪問他們的。
四、使用欺騙性代理服務器的情況:Distorting Proxies
REMOTE_ADDR = 代理服務器 IP
HTTP_VIA = 代理服務器 IP
HTTP_X_FORWARDED_FOR = 隨機的 IP ,經過多個代理服務器時,這個值類似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
告訴了訪問對象您使用了代理服務器,但編造了一個虛假的隨機IP代替您的真實IP欺騙它。
五、使用高匿名代理服務器的情況:High Anonymity Proxies (Elite proxies)
REMOTE_ADDR = 代理服務器 IP
HTTP_VIA = 沒數(shù)值或不顯示
HTTP_X_FORWARDED_FOR = 沒數(shù)值或不顯示 ,經過多個代理服務器時,這個值類似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
完全用代理服務器的信息替代了您的所有信息,就象您就是完全使用那臺代理服務器直接訪問對象。

REMOTE_ADDR 是你的客戶端跟你的服務器“握手”時候的IP。如果使用了“匿名代理”,REMOTE_ADDR將顯示代理服務器的IP。
HTTP_CLIENT_IP 是代理服務器發(fā)送的HTTP頭。如果是“超級匿名代理”,則返回none值。同樣,REMOTE_ADDR也會被替換為這個代理服務器的IP。
$_SERVER['REMOTE_ADDR']; //訪問端(有可能是用戶,有可能是代理的)IP
$_SERVER['HTTP_CLIENT_IP']; //代理端的(有可能存在,可偽造)
$_SERVER['HTTP_X_FORWARDED_FOR']; //用戶是在哪個IP使用的代理(有可能存在,也可以偽造)

相關文章

  • php分頁查詢mysql結果的base64處理方法示例

    php分頁查詢mysql結果的base64處理方法示例

    這篇文章主要介紹了php分頁查詢mysql結果的base64處理方法,涉及php+mysql數(shù)據(jù)庫查詢及base64編碼轉換相關操作技巧,需要的朋友可以參考下
    2017-05-05
  • PHP中opcode緩存簡單用法分析

    PHP中opcode緩存簡單用法分析

    這篇文章主要介紹了PHP中opcode緩存簡單用法,結合實例形式分析了opcode的概念、原理、簡單開啟與使用方法,需要的朋友可以參考下
    2018-03-03
  • php遞歸實現(xiàn)無限分類的方法

    php遞歸實現(xiàn)無限分類的方法

    這篇文章主要介紹了php遞歸實現(xiàn)無限分類的方法,涉及php遞歸遍歷的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • PHP時間相關常用函數(shù)用法示例

    PHP時間相關常用函數(shù)用法示例

    這篇文章主要介紹了PHP時間相關常用函數(shù)用法,結合實例形式詳細分析了PHP日期時間函數(shù)常見操作方法與使用注意事項,需要的朋友可以參考下
    2020-06-06
  • 提示Trying to clone an uncloneable object of class Imagic的解決

    提示Trying to clone an uncloneable object of class Imagic的解決

    使用網上流傳的一個程序實現(xiàn)pdf截圖為png,需要使用Imagic擴展,安裝后出現(xiàn)Trying to clone an uncloneable object of class Imagic提示,下面是具體的解決方法分享。
    2011-10-10
  • PHP基于DOMDocument解析和生成xml的方法分析

    PHP基于DOMDocument解析和生成xml的方法分析

    這篇文章主要介紹了PHP基于DOMDocument解析和生成xml的方法,結合具體實例形式分析了php使用DOMDocument解析xml節(jié)點及xml文件生成的各種常用操作技巧,需要的朋友可以參考下
    2017-07-07
  • 關于訪問控制的一首PHP面試題(對屬性或方法的訪問控制)

    關于訪問控制的一首PHP面試題(對屬性或方法的訪問控制)

    對屬性或方法的訪問控制,是通過在前面添加關鍵字 public、protected 或 private 來實現(xiàn)的
    2012-09-09
  • 如何用PHP導出PDF

    如何用PHP導出PDF

    實際工作中,我們要使用PHP動態(tài)的創(chuàng)建PDF文檔,目前有許多開源的PHP創(chuàng)建PDF的類庫,今天我給大家來介紹一款優(yōu)秀的PDF庫,它就是TCPDF,TCPDF是一個用于快速生成PDF文件的PHP5函數(shù)包。TCPDF基于FPDF進行擴展和改進,增強了實用功能。
    2021-05-05
  • 詳解PHP原生DOM對象操作XML的方法

    詳解PHP原生DOM對象操作XML的方法

    大家都知道對于操作XML類型文件,PHP內置有一套DOM對象可以進行處理。對XML的操作,從創(chuàng)建、添加到修改、刪除都可以使用DOM對象中的函數(shù)來進行。下面這篇文章通過示例代碼給大家介紹如何進行操作,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-10-10
  • PHP英文字母大小寫轉換函數(shù)小結

    PHP英文字母大小寫轉換函數(shù)小結

    這篇文章主要介紹了幾個PHP英文字母大小寫轉換函數(shù),分為首字母大小寫轉換和所有字母大小寫轉換,需要的朋友可以參考下
    2014-05-05

最新評論