php无法取得客户端真实ip!怎么解决啊?

来源:百度知道 编辑:UC知道 时间:2024/05/24 05:18:27
我用了网上所有的关于php取得用户真实IP的例子,上传到服务器上后,得到的全是192.168.1.1 这个IP地址。这究竟是怎么回事呢?难道我找的PHP脚本都不好用? 请高手给段PHP代码吧!
我换了好多台电脑试验,得到的全是192.168.1.1 这个IP地址,难道和ISA防火墙有关?

PHP的问题这样的代码网上很多

你这个取的是代理服务器的网关ip.所以测试没达到你想要的结果.
楼主应该是在局域网内测试的
如果取消代理服务器或用ip访问就不会出现这种问题了
========================================
问题补充:和ISA有关,取消网关,用ip地址访问,就可以了

以下是我平时用来获取IP的代码:

<?php

/*
*-------------
*获取客户端IP
*-------------
*/

function getip() {
if (isset($_SERVER)) {
if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) {
$realip = $_SERVER[HTTP_X_FORWARDED_FOR];
} elseif (isset($_SERVER[HTTP_CLIENT_IP])) {
$realip = $_SERVER[HTTP_CLIENT_IP];
} else {
$realip = $_SERVER[REMOTE_ADDR];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")) {
$realip = getenv( "HTTP_X_FORWARDED_FOR");
} elseif (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP");
} else {
$realip = getenv("REMOTE_ADDR");
}
}
return $realip;
}

?><