$reIP=$_SERVER["REMOTE_ADDR"]
echo $reIP
//
//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]
}
echo $onlineip
//可以分出内网与外网站ip地址获取程序
function getip_out(){
$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])
}
echo getip_out()
//php获取ip的算法,用了?号表达式来处理
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"]
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"]
希望会对你有所帮助
理论上不可能获得真实的客户IP地址,只能获得最后一次路由器、或者代理服务器的IP地址。典型的情况是对方也在局域网、或者防火墙的后面,我们是不可能获得他真实的IP地址的,其实获取来也没有,一般是192.168.1.2这样的私有地址,甚至很可能所有的客户机都是这个网段。<?phpecho
"当前脚本服务器的主机名:".gethostbyaddr($_SERVER['REMOTE_ADDR'])."<br
/><hr
/>"
echo
"获得当前运行PHP脚本(页面)所在的服务器的
IP
地址:".$_SERVER['SERVER_ADDR']."<br
/><hr
/>"
echo
"获得当前运行PHP脚本(页面)所在的服务器的
主机名:".$_SERVER['SERVER_NAME']
echo
'<hr>'
echo
'客户端ip'.
$_SERVER['REMOTE_ADDR']
echo
'<br>'
echo
'客户端ip'.getenv('REMOTE_ADDR')
echo
"<br>"
echo
'服务器主机ip'.gethostbyname("www.qq.com")
?>
运行出来:
当前脚本服务器的主机名:XYL-PC
获得当前运行PHP脚本(页面)所在的服务器的
IP
地址:127.0.0.1
获得当前运行PHP脚本(页面)所在的服务器的
主机名:localhost
客户端ip127.0.0.1
客户端ip127.0.0.1
服务器主机ip61.135.169.105
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)