wordpress 反代后ip识别不准确的处理

使用nginx或者cloudflare等反正后,wordpress取$_SERVER["REMOTE_ADDR"] 一直返回的是127.0.0.1

修复办法如下,在wp-config.php文件中,添加如下:

在 $table_prefix = 'wp_'; 新行添加

if(getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")){
    //修正反代时读取ip 总 127.0.0.1
    $xip = getenv("HTTP_X_FORWARDED_FOR");
    if(strcasecmp($xip, ",")){
        $xips = explode(",", $xip);
        $xip    = $xips[0];
    }
    $_SERVER["REMOTE_ADDR"] = $xip;
}

就行了。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注