今天无意中发现博客中近期评论的 IP 地址都是 127.0.0.1,原因可能是空间服务商使用了代理服务器。上传了一个 phpinfo() 探针找到了一个可用的环境变量,解决了地址问题。
下面记录一下解决问题的具体方法:
1. 上传一个 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!