如何获取PHP客户端及服务器端IP了?

如何获取PHP客户端及服务器端IP了?,第1张

客户端的ip变量

$_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()


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/227854.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-08
下一篇2023-04-08

发表评论

登录后才能评论

评论列表(0条)

    保存