php获取指定网卡数据包 php获取网站内容

php能读取访问者网卡的MAC地址吗

可以的,使用exec执行命令行就可以获取,例:

屏南网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。

$mac_addr = array();

switch ($os_type) {

case 'windows':

@exec("ipconfig /all", $mac_addr); 

break;

case 'linux':

@exec("ifconfig -a", $mac_addr); 

break;

default:

# code...

break;

}

echo "pre";

var_dump( $mac_addr);

php获取本机主板网卡IP地址.跳转读取相应的数据

大家一般都是用$_SERVER['REMOTE_ADDR']来获取用户IP,

但是如果使用了反向代理的,HTTP头中REMOTE_ADDR就不是用户的地址,反而是上一级代理的地址了。

经过我的研究有两种方法来获取用户的真实外网IP。

方法一:curl

复制代码代码如下:

function get_onlineip() {

$ch = curl_init('');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$a = curl_exec($ch);

preg_match('/\[(.*)\]/', $a, $ip);

return $ip[1];

}

方法二:$_SERVER['HTTP_X_FORWARDED_FOR']来获取相应的地址

复制代码代码如下:

function get_onlineip() {

$onlineip = '';

if(getenv('HTTP_CLIENT_IP') strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {

$onlineip = getenv('HTTP_CLIENT_IP');

} elseif(getenv('HTTP_X_FORWARDED_FOR') strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {

$onlineip = getenv('HTTP_X_FORWARDED_FOR');

} elseif(getenv('REMOTE_ADDR') strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {

$onlineip = getenv('REMOTE_ADDR');

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

$onlineip = $_SERVER['REMOTE_ADDR'];

}

return $onlineip;

}

php或者JS获取客户端网卡IP地址

function get_real_ip(){

$ip=false;

if(!empty($_SERVER["HTTP_CLIENT_IP"])){

$ip = $_SERVER["HTTP_CLIENT_IP"];

}

if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {

$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);

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];

break;

}

}

}

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

}

调用方式get_real_ip()


分享标题:php获取指定网卡数据包 php获取网站内容
网址分享:http://ybzwz.com/article/doshgop.html