echo
"当前脚本服务器的主机名:".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
来看看代码:echo "(1)浏览当前页面的用户的 IP 地址为:"
echo $_SERVER['REMOTE_ADDR']
echo "
"
echo "(2)浏览当前页面的用户的 IP 地址为:"
echo getenv('REMOTE_ADDR')
echo "
"
echo "主机 www.baidu.com 的 IP 地址为:"
echo gethostbyname(www.baidu.com)
2
它的输出结果为:
(1)浏览当前页面的用户的 IP 地址为:127.0.0.1
(2)浏览当前页面的用户的 IP 地址为:127.0.0.1
主机 www.baidu.com 的 IP 地址为:61.135.169.105
3
关于获取客户端的 IP 地址,有俩方法:
第一个是使用:
$_SERVER['REMOTE_ADDR']
它正在浏览当前页面用户的 IP 地址,这里的输出结果为 127.0.0.1,因为这是在本地测试,输出的是我本地的环路地址。
第俩个是使用:
getenv('REMOTE_ADDR')
这里使用了函数 getenv : Gets the value of an environment variable(得到各种环境变量的值),返回值:Returns the value of the environment variable varname, or FALSE on an error(失败的话返回 FALSE).
客户端的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 获得系统的环境变量:
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)