放羊的牛仔 发表于 2014-4-11 14:16:34

Wordpress获取不了评论的真实IP

Wordpress不能获取访客评论的真实IP,显示IP:127.0.0.1。之前使用apache 2.2在wp-config.php里加入
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$_SERVER['REMOTE_ADDR'] = $list; }


能正常获取访客IP地址。使用apache 2.4.9就不行了。Apache 2.4.加入上面的代码之后127.0.0.1都不显示了。我使用mod_remoteip也获取不到访客的真实IP地址,不知道是不是配置错了。求高手打!
我使用集成环境XMAPP 1.8.3 https://www.apachefriends.org/download.html



nat123god 发表于 2014-4-11 14:49:55

这个http://www.nat123.com/Pages_8_120.jsp
看有没有参考的。

应该是本地环境配置,apache2.2可以,2.4.9不行,明显是中间件配置问题。

放羊的牛仔 发表于 2014-4-13 15:49:51

nat123god 发表于 2014-4-11 14:49
这个http://www.nat123.com/Pages_8_120.jsp
看有没有参考的。



按照参考,我修改了。问题还是没有解决。如果使用带有代理的浏览器访问,使用代码:

<div>if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { </div><div>$list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);</div><div>$_SERVER['REMOTE_ADDR'] = $list; }</div><div>echo $_SERVER['REMOTE_ADDR'];</div>输出为客户端真实IP地址。如果不通过代理的浏览器访问,获取的IP就为映射主机的IP地址。

测试过程中还发现一个问题,就是$_SERVER['HTTP_X_FORWARDED_FOR'] 输出有错。

Notice: Undefined index: HTTP_X_FORWARDED_FOR in D:\xampp\htdocs\ip.php on line 2
页: [1]
查看完整版本: Wordpress获取不了评论的真实IP