共计 422 个字符,预计需要 2 分钟阅读。
问题描述
在审核评论的时候发现,所有评论的IP地址都显示为127.0.0.1,这种情况该如何解决呢?
问题原因
这一般是由于在WordPress前面还套了WAF或者其他的软件,导致所有流量都是走127.0.0.1进入的。一般,WAF会将访客的实际IP放在X-Forwarded-For
头中,因此我们只要在评论IP的获取时加上这个过滤器即可。
若本身IP获取正常,切勿添加这段代码,可能造成IP伪造!
解决方案
打开主题的function.php文件,在最后加入如下代码
//从XFF头中获取评论IP 作者:吕舒君
function pre_comment_ip_XFF() {
return $_SERVER['HTTP_X_FORWARDED_FOR'];
}
add_filter('pre_comment_user_ip', 'pre_comment_ip_XFF');
测试结果
随便发表一条评论,可见IP获取正常
正文完