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

php获取本机主板网卡IP地址.跳转读取相应的数据大家一般都是用$_SERVER['REMOTE_ADDR']来获取用户IP ,
但是如果使用了反向代理php获取指定网卡数据包的,HTTP头中REMOTE_ADDR就不是用户的地址,反而是上一级代理的地址了 。
经过我的研究有两种方法来获取用户的真实外网IP 。
方法一php获取指定网卡数据包:curl
复制代码代码如下:
function get_onlineip() {
$ch = curl_init('');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$a = curl_exec($ch);
preg_match('/\[(.*)\]/', $a, $ip);
return $ip[1];
}
方法二php获取指定网卡数据包:$_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能读取访问者网卡的MAC地址吗可以php获取指定网卡数据包的php获取指定网卡数据包 , 使用exec执行命令行就可以获取php获取指定网卡数据包,例php获取指定网卡数据包:
$mac_addr = array();
switch ($os_type) {
case 'windows':
【php获取指定网卡数据包 php 获取网页内容】@exec("ipconfig /all", $mac_addr);
break;
case 'linux':
@exec("ifconfig -a", $mac_addr);
break;
default:
# code...
break;
}
echo "pre";
var_dump( $mac_addr);
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; $icount($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 获取网页内容、php获取指定网卡数据包的信息别忘了在本站进行查找喔 。

    推荐阅读