$_SERVER['REMOTE_ADDR'] :客户端IP,也有可能是代理IP
$_SERVER['HTTP_CLIENT_IP']:代理端的IP,可能存在,也可能伪造
$_SERVER['HTTP_X_FORWARD_FOR'] :用户在哪个ip上使用的id,可能存在,也可能伪造
服务端的ip变量:
$_SERVER['SERVER_NAME'] :需要使用函数gethostname()来获得,这个无论是服务器端还是客户端都能正常显示。
$_SERVER['SERVER_ADDR']:服务器端的ip地址,在服务器端测试ip地址,在客户端测试正常
getnev 获得系统的环境变量:
服务器IP用:echo(gethostbyname($SERVER_NAME))
客户端IP用下面函数:
function iptype1 () {
if (getenv("HTTP_CLIENT_IP")) {
return
getenv("HTTP_CLIENT_IP")
}
else {
return "none"
}
}
function iptype2 () {
if (getenv("HTTP_X_FORWARDED_FOR")) {
return getenv("HTTP_X_FORWARDED_FOR")
}
else {
return "none"
}
}
function iptype3 () {
if (getenv("REMOTE_ADDR")) {
return getenv("REMOTE_ADDR")
}
else {
return "none"
}
}
function ip() {
$ip1 = iptype1()
$ip2 = iptype2()
$ip3
= iptype3()
if (isset($ip1) &&$ip1 != "none" &&$ip1 !=
"unknown") {
return $ip1
}
elseif (isset($ip2) &&$ip2
!= "none" &&$ip2 != "unknown") {
return $ip2
}
elseif
(isset($ip3) &&$ip3 != "none" &&$ip3 != "unknown") {
return $ip3
}
else {
return "none"
}
}
使用时,直接调用ip()
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)