修复 WordPresss 评论 IP 地址都是 127.0.0.1

今天无意中发现博客中近期评论的 IP 地址都是 127.0.0.1,原因可能是空间服务商使用了代理服务器。上传了一个 phpinfo() 探针找到了一个可用的环境变量,解决了地址问题。

下面记录一下解决问题的具体方法:
1. 上传一个 phpinfo() 探针找到可用的环境变量。

<php? phpinfo(); ?>

保存为 test.php 上传到空间里,打开这个页面查看 Apache Environment 版块,找到一个可用的变量。

2. 修改 wp-includes/comment.php 文件。
找到

$_SERVER['REMOTE_ADDR ']

例如变量 HTTP_X_FORWARDED_FOR 可用,改成

($_SERVER['HTTP_X_FORWARDED_FOR'] == "")?$_SERVER['REMOTE_ADDR']:$_SERVER['HTTP_X_FORWARDED_FOR']

注意:当更新了 WordPress 后需要再次修改!

Over!