怸歪小站

  • {{ item.name }}
  • 问题原因
  • 解决办法
  • 首页
  • 分享
  • 记录
  • 工具
    • 编码
  • 关于本站
    • 给我留言
  • 文章归档
  • 榜上有名
  • 友情链接
  • RSS Feed
  • 一个没有项目的GitHub。
  • 我在SF的镜像站。

喜欢这款主题

抢先体验 | 作者主页

本站已勉强支撑0天

【转】WordPress评论IP地址显示为127.0.0.1的解决办法

  • 怸歪
  • 2022-04-21
  • 0

穆童博客使用的是Wordpress程序,上次在更换了服务器之后不知为何所有新评论的IP地址都显示为127.0.0.1。刚开始我还没在意,觉得这也没什么。可是最近越发的觉得有必要解决这个问题。今天算式解决了,不过由于涉及到Wordpress程序文件的修改,所以就写篇日记以防日后升级程序后再次遇到这个问题。

问题原因

于是搜索了下,了解到导致这种情况的大概原因是:

一、启用了Wordpress缓存插件。
二、PHP版本或者Wordpress版本的问题。

我一看,php版本的问题应该不存在,因为wordpress安装环境是有要求的,如果php有问题那么应该安装wordpress的时候就出问题。wordpress版本也没问题,我用的是最新的版本而且这个版本之前是可以正确显示IP地址的。最后就是缓存插件的可能性了,因为我不久前就启用了这个插件,也几乎同时在启用这个插件之后评论IP地址就显示为127.0.0.1了。

解决办法

解决办法也挺简单的,我们只需要修改wordpress主目录下/wp-includes/目录里面的comment.php文件里面的一行代码就可以。首先打开comment.php文件后在里面搜索:$commentdata['comment_author_IP']然后更具下面的提示对应修改(大约在1351行):

在/wp-includes/comment.php文件里找到下列代码:
$commentdata['comment_author_IP'] = preg_replace( '/[^0-9a-fA-F:., ]/', '',$_SERVER['REMOTE_ADDR'] );
将其修改为下列代码(可直接复制替换)
$commentdata['comment_author_IP'] = preg_replace( '/[^0-9a-fA-F:., ]/', '',$_SERVER['HTTP_X_FORWARDED_FOR'] );

也就是将$_SERVER['REMOTE_ADDR']替换为$_SERVER['HTTP_X_FORWARDED_FOR']就可以了。我在修改完后进行了测试,评论IP地址可以正常显示了。

本文转自:

https://mtoou.info/206.html
声明:怸歪小站 | 本文采用署名-非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
文章名称:【转】WordPress评论IP地址显示为127.0.0.1的解决办法
文章链接:https://cycy.fun/2022/04/wp-pl-ip/
本站文章若无特别说明,皆为原创,转载请注明来源:怸歪小站,如果您喜欢可以订阅本站RSS feed
转载声明

  本站部分文章为原创文章,转载的都已注明,本站部分内容来自网络。本站所有分享的小工具、软件均来自网络,只做学习使用,请您下载后24小时内删除,请支持正版。如若本站内容侵犯了原著者的合法权益,请联系本站,本站将第一时间进行处理。
郑重声明
© 2023 怸歪小站
Theme by Wing

萌ICP备20222587号

辽公网安备 21020402000840号