我是PHP的新手。
我想在我的网页上显示使用HotSpot盾牌时,我(我自己,仅修改了HotSpot盾牌网页的主机文件)的IP地址,但不幸的是,它被回复为127.0.0.1 。主要目标是当我连接时,我设置的IP地址在页面上回显。这就是我用过的代码:
<?php $rmt = $_SERVER["REMOTE_ADDR"]; echo "$rmt \n" ?>
唯一的问题是$ rmt是127.0.0.1。你们中的任何人都知道如何让它显示要显示的公共IP地址吗?
答案 0 :(得分:4)
本地代理服务器可能会发生这种情况;您可以var_dump($_SERVER);
查看与您的请求一起发送的其他标头,并搜索X-Forwarded-For
或X-Real-IP
答案 1 :(得分:1)
$_SERVER['REMOTE_ADDR']
指的是您所连接的IP地址。如果您在本地计算机上运行服务器并从本地计算机连接,它将使用您的本地IP(127.0.0.1始终为“localhost”)。
为了显示不同的IP,您需要在另一台服务器(最好是公共网络酒店服务器)上运行它,或者从另一台机器连接到您的服务器。
答案 2 :(得分:1)
我有同样的问题。 事实证明,我得到的是代理IP地址而不是我自己的IP。 所以我跑了:
var_dump($_SERVER)
//you could also use print_r($_SERVER);
然后找了这样的东西:
["HTTP_X_REAL_IP"]
然后把它捕获到这样的var中:
$ip = getenv('HTTP_X_REAL_IP')