當前位置:首頁 » 編程語言 » php獲取機器碼

php獲取機器碼

發布時間: 2024-02-23 17:33:59

1. 利用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();

2. 在php中如何取鍵

php中獲取鍵值對的鍵有兩種方式,都是通過函數來實現斗蔽春。

一種是通過array_search來查詢,一種空耐是通過array_keys來查並搭詢。

3. php如何獲取伺服器的硬碟序列號或者網卡物理MAC地址

PHP獲取網卡MAC地址的方法- -

做一個限定用戶登錄的東西時用到這段代碼,可能還有人會用到,拿出來分享......

<?php
@exec("ipconfig /all",$array);
for($Tmpa;$Tmpa<count($array);$Tmpa++){
if(eregi("Physical",$array[$Tmpa])){
$mac=explode(":",$array[$Tmpa]);
echo $mac[1];
}
}
?>

4. php 獲取客戶端的MAC地址

MAC地址是不可以的,瀏覽器就攔擊了,那個只是區域網內使用的。也就是許多通過路由器的廣域網用戶,根本就不把MAC地址傳給WEB伺服器,PHP程序是不可能獲得的。
你要限制用戶,只有使用證書,登錄賬戶等方法實現。

5. php 獲取客戶端的電腦名稱

PHP在區域網中獲取客戶端計算機名、IP地址
<?

//php獲取ip的演算法

if(getenv('HTTP_CLIENT_IP')) {

$onlineip = getenv('HTTP_CLIENT_IP');

} elseif(getenv('HTTP_X_FORWARDED_FOR')) {

$onlineip = getenv('HTTP_X_FORWARDED_FOR');

} elseif(getenv('REMOTE_ADDR')) {

$onlineip = getenv('REMOTE_ADDR');

} else {

$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];

}

exec ("ping $onlineip");

$macaddress=exec ("arp -a | find /i".' "'.$onlineip.'"');

$computername=exec ('nbtstat -A'.' '.$onlineip.' | find /i "20"');

$MacName=(preg_split("/\s+/", trim($macaddress)));

$UserName=(preg_split("/\s+/", trim($computername)));

echo "計算機名:".$UserName[0]." --- "."IP 地址:".$MacName[0]." --- "."MAC 地址:".$MacName[1];

?>

class GetMacAddr

{

var $return_array = array(); // 返回帶有MAC地址的字串數組

var $mac_addr=array();

function GetMacAddr()

{

switch (strtolower(PHP_OS) )

{

case "linux":$this->forLinux();break;

case "solaris":break;

case "unix":break;

case "aix":break;

default:$this->forWindows();break;

}

//www.51qgj.com

$temp_array = array();

foreach ( $this->return_array as $value )

{

if ( preg_match( "/[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f]/i", $value, $temp_array ) )

{

$this->mac_addr[] = $temp_array[0];

}

}

unset($temp_array);

return $this->mac_addr;

}

function forWindows()

{

@exec("ipconfig /all", $this->return_array);

if ( $this->return_array )

return $this->return_array;

else{

$ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe";

if ( is_file($ipconfig) )

@exec($ipconfig." /all", $this->return_array);

else

@exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->return_array);

return $this->return_array;

}

}

function forLinux()

{

@exec("ifconfig -a", $this->return_array);

return $this->return_array;

}

}

$mac = new GetMacAddr();

echo "<pre>";

print_r( $mac->mac_addr);

?>
mac測試過 可能無效

熱點內容
安卓手機如何打開xp文件 發布:2024-11-29 08:27:46 瀏覽:949
戰歌腳本第二集 發布:2024-11-29 08:22:42 瀏覽:890
緩存清理是什麼意思 發布:2024-11-29 08:14:39 瀏覽:675
cvm伺服器搭建博客 發布:2024-11-29 08:03:42 瀏覽:889
魅族手機軟體怎麼加密 發布:2024-11-29 07:50:04 瀏覽:215
阿里雲伺服器託管合同 發布:2024-11-29 07:46:37 瀏覽:297
linux用戶許可權設置 發布:2024-11-29 07:43:39 瀏覽:271
c語言if函數嵌套 發布:2024-11-29 07:43:35 瀏覽:758
學編程L2 發布:2024-11-29 07:39:58 瀏覽:430
微信如何設置收與付密碼 發布:2024-11-29 07:39:15 瀏覽:542