获取客户IP问题。 REMOTE_ADDR,我平时就是用它来收集用户的ip地址啊,怎么有问题么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 若用户使用了proxy,我要得到他的真实ip; 用了代理之后不可能得到真实的ip吗??—————————————————————————————————┏━★━━◆━━★━┓ ♂欢|◢CSDN◣|使♂ ▲自由保存帖子,浏览,关注检测┃迎|◥论坛助手◤|用┃ ▲完善的CSDN客户端工具┗━☆━━◇━━━☆┛ ▲自动添加签名......让你更快,更爽,更方便地上CSDN...http://www.csdn.net/expert/topic/573/573604.xmlhttp://www.chinaok.net/csdn/csdn.zip 使用了Proxy后,你得到的将是代理服务器的IP,真实的IP你是得不到的!ok? http://expert.csdn.net/Expert/topic/1145/1145427.xml?temp=.3985407请诸位看看帖子;回复人: anziqi(美洲狮) ( ) 信誉:105 2002-11-4 14:48:24 得分:10 <?//补充一下,有时候$REMOTE_ADDR;并不一定是你真是的ip//用HTTP_X_FORWARDED_FOR更真实一些if (getenv(HTTP_X_FORWARDED_FOR)) {$ip = getenv('HTTP_X_FORWARD_FOR');$host = gethostbyaddr($ip);} else {$ip = getenv('REMOTE_ADDR');$host = gethostbyaddr($ip);}?> <?$rcip=getenv("HTTP_X_FORWARDED_FOR"); $cip=getenv("REMOTE_ADDR"); if ($rcip != "") { echo "您使用了代理,您的真实IP是:"; echo $rcip;} else { echo "您的IP是:"; echo $cip;}?> <?$rcip=getenv("HTTP_X_FORWARDED_FOR"); $cip=getenv("REMOTE_ADDR"); if (getenv("HTTP_X_FORWARDED_FOR")==""){echo "您使用了代理,您的真实IP是:";echo $rcip;} else {echo "您的IP是:";echo $cip;}?>呵呵一个逻辑上的错误。你在if (getenv("HTTP_X_FORWARDED_FOR")=="")这句判断了一下他为空运行下一句是吧。又因为$rcip=getenv("HTTP_X_FORWARDED_FOR"); 等于空了。所以你显示的时候如果有东东那才见鬼哪。呵呵自己看看。太粗心了。 代码给你:<?$rcip=getenv("HTTP_X_FORWARDED_FOR"); $cip=getenv("REMOTE_ADDR"); if (getenv("HTTP_X_FORWARDED_FOR")==""){echo "您使用了代理,您的真实IP是:";echo $cip;} else {echo "您的IP是:";echo $rcip;}?>你是不是这个意思。 谢谢anziqi(美洲狮) !以下是我调试成功的代码:)<%$rcip=getenv("HTTP_X_FORWARDED_FOR"); $cip=getenv("REMOTE_ADDR"); if (getenv("HTTP_X_FORWARDED_FOR")==""){echo "您的IP是:";echo $cip;} else {echo "您使用了代理,您的真实IP是:";echo $rcip;echo "<br/>";echo "您的代理服务器IP是:";echo $cip;}%> php批量执行SQL语句 12本经典PHP学习教程、实例、开发资料 php从mysql中读取表的各个字段的信息代码,求高手指教。。。 php 能做什么? 激活码的链接怎么写??? #1064救命 急招PHP程序员,准备招2名 CakePHP求救求救~ 讨论:如何加快网页显示速度? PHP的安装问题 错在哪里啊,郁闷 如何计算两个日期相差几分钟?
┏━★━━◆━━★━┓
♂欢|◢CSDN◣|使♂ ▲自由保存帖子,浏览,关注检测
┃迎|◥论坛助手◤|用┃ ▲完善的CSDN客户端工具
┗━☆━━◇━━━☆┛ ▲自动添加签名......让你更快,更爽,更方便地上CSDN...
http://www.csdn.net/expert/topic/573/573604.xml
http://www.chinaok.net/csdn/csdn.zip
ok?
请诸位看看帖子;
回复人: anziqi(美洲狮) ( ) 信誉:105 2002-11-4 14:48:24 得分:10 <?//补充一下,有时候$REMOTE_ADDR;并不一定是你真是的ip
//用HTTP_X_FORWARDED_FOR更真实一些
if (getenv(HTTP_X_FORWARDED_FOR)) {
$ip = getenv('HTTP_X_FORWARD_FOR');
$host = gethostbyaddr($ip);
} else {
$ip = getenv('REMOTE_ADDR');
$host = gethostbyaddr($ip);
}?>
$rcip=getenv("HTTP_X_FORWARDED_FOR");
$cip=getenv("REMOTE_ADDR");
if ($rcip != "") {
echo "您使用了代理,您的真实IP是:";
echo $rcip;
} else {
echo "您的IP是:";
echo $cip;
}
?>
$rcip=getenv("HTTP_X_FORWARDED_FOR");
$cip=getenv("REMOTE_ADDR");
if (getenv("HTTP_X_FORWARDED_FOR")==""){
echo "您使用了代理,您的真实IP是:";
echo $rcip;
} else {
echo "您的IP是:";
echo $cip;
}
?>呵呵一个逻辑上的错误。
你在if (getenv("HTTP_X_FORWARDED_FOR")=="")这句判断了一下他为空运行下一句是吧。又因为$rcip=getenv("HTTP_X_FORWARDED_FOR"); 等于空了。
所以你显示的时候如果有东东那才见鬼哪。
呵呵自己看看。太粗心了。
<?
$rcip=getenv("HTTP_X_FORWARDED_FOR");
$cip=getenv("REMOTE_ADDR");
if (getenv("HTTP_X_FORWARDED_FOR")==""){
echo "您使用了代理,您的真实IP是:";
echo $cip;
} else {
echo "您的IP是:";
echo $rcip;
}
?>
你是不是这个意思。
以下是我调试成功的代码:)<%
$rcip=getenv("HTTP_X_FORWARDED_FOR");
$cip=getenv("REMOTE_ADDR");
if (getenv("HTTP_X_FORWARDED_FOR")==""){
echo "您的IP是:";
echo $cip;
} else {
echo "您使用了代理,您的真实IP是:";
echo $rcip;
echo "<br/>";
echo "您的代理服务器IP是:";
echo $cip;
}
%>