好了费话不说多了来看看这款php,来获取用户IP
分类:热门新闻

我们用下边的函数依据剖断来获得顾客的真实性IP地址哦,好了费话不说多了来看看那款php 获得顾客真实IP地址的程序代码吧。

if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown'))
{
$PHP_IP = getenv('HTTP_CLIENT_IP');
}
elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown'))
{
$PHP_IP = getenv('HTTP_X_FORWARDED_FOR');
}
elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown'))
{
$PHP_IP = getenv('REMOTE_ADDR');
}
elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown'))
{
$PHP_IP = $_SERVER['REMOTE_ADDR'];
}
preg_match("/[d.]{7,15}/", $PHP_IP, $ipmatches);
$PHP_IP = $ipmatches[0] ? $ipmatches[0] : 'unknown';
/**
函数 getenv(卡塔尔国 是获取境况变量。  情形变量: HTTP_CLIENT_IP 是获取顾客端的IP 。但有比一点都不小大概人家是经过代办来会见你的次序的啊。那么当时就要用场境变量:
HTTP_X_FORWARDED_FOR  了。 包括  getenv('REMOTE_ADDR')  $_SERVER['REMOTE_ADDR']  都是得到人家  IP的。反正碰罗。碰着那么些能博取就大工告成。
*/

我们平时都以用$_SERVER['REMOTE_ADDR']来收获顾客IP,

if(getenv('HTTP_CLIENT_IP') strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')){$PHP_IP = getenv('HTTP_CLIENT_IP');}elseif(getenv('HTTP_X_FORWARDED_FOR') strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')){$PHP_IP = getenv('HTTP_X_FORWARDED_FOR');}elseif(getenv('REMOTE_ADDR') strcasecmp(getenv('REMOTE_ADDR'), 'unknown')){$PHP_IP = getenv('REMOTE_ADDR');}elseif(isset($_SERVER['REMOTE_ADDR']) $_SERVER['REMOTE_ADDR'] strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')){$PHP_IP = $_SERVER['REMOTE_ADDR'];}preg_match(/[d.]{7,15}/, $PHP_IP, $ipmatches);$PHP_IP = $ipmatches[0] ? $ipmatches[0] : 'unknown';/**函数 getenv(卡塔尔 是赢得蒙受变量。 境况变量: HTTP_CLIENT_IP 是得到顾客端的IP 。但有非常大或许人家是透过代办来走访你的主次的啊。那么那时候就要用情形变量:HTTP_X_FORWARDED_FOR 了。 包括 getenv('REMOTE_ADDR') $_SERVER['REMOTE_ADDR'] 都以收获人家 IP的。反正碰罗。际遇这个能取得就大工告成。*/

可是只要选用了反向代理的,HTTP头中REMOTE_ADDWrangler就不是客户的地点,反而是上顶尖代理的地点了。

由此笔者的研究有二种方法来得到顾客的真人真事外网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,来获取用户IP

上一篇:【威尼斯登录首页】进行按你infecFile病毒列表清除一次.,只涉及到模板与写简单的内容哦 下一篇:没有了
猜你喜欢
热门排行
精彩图文