解决WordPress开启CDN后评论IP不正确的方法

  • A+
所属分类:资源分享

解决WordPress开启CDN后评论IP不正确的方法

只是简单的这个还没有事情,只是,WordPress内有评论IP拦截等等这些功能,不能都拦截了。

百度一下,发现了一个好的方法。只要添加一段代码,IP地址就可以正常了,其实CDN在头部应该有把访问者IP发送的,那段代码就是把wordpress的ip中变量换成$_SERVER获取的。这个可以用在任意CDN和反代里面,IP地址可以获取正确的,但是如果你想我的对方用过VPN、代理、ss……后的本机原始IP可以使用js获取,这个以后会有介绍的。

好了唠叨了那么多,还是上点干货吧。

第一种:在WordPress安装根目录下面wp-config.php文件,打开后,在其内添加下面代码:

if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  $list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
  $_SERVER['REMOTE_ADDR'] = $list[0];
}

第二种:

在当前主题目录下打开functions.php文件,在最底部添加如下代码。

//获取用户真实IP地址
function GetIP()
{$IP = str_replace(“, “, “”,str_replace($_SERVER['REMOTE_ADDR'],
“”,$_SERVER["HTTP_X_FORWARDED_FOR"]));
if ($_SERVER["HTTP_X_FORWARDED_FOR"] != “”) {$_SERVER['REMOTE_ADDR'] =
$IP;
} else {
$_SERVER['REMOTE_ADDR'] = $_SERVER['REMOTE_ADDR'];
}}add_action( ‘init’, ‘GetIP’ );

两种方式,只需要使用其中一种即可,第一种适用于所有Wordprss博客,第二种,可能不适用于部分博客,请自主选择。

发表评论

您必须才能发表评论!