admin 发表于 2024-1-8 21:41:48

WordPress使用CDN后获取用户真实IP

在主题文件function.php下添加以下代码即可解决:
/**
* 获取用户真实IP
*/
function getIP()
{
    static $realIP;
    if (isset($_SERVER)){
      if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
            $realIP = explode(',', $_SERVER["HTTP_X_FORWARDED_FOR"]);
            $realIP = $realIP;
      } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
            $realIP = $_SERVER["HTTP_CLIENT_IP"];
      } else {
            $realIP = $_SERVER["REMOTE_ADDR"];
      }
    } else {
      if (getenv("HTTP_X_FORWARDED_FOR")){
            $realIP = getenv("HTTP_X_FORWARDED_FOR");
      } else if (getenv("HTTP_CLIENT_IP")) {
            $realIP = getenv("HTTP_CLIENT_IP");
      } else {
            $realIP = getenv("REMOTE_ADDR");
      }
    }
    $_SERVER['REMOTE_ADDR'] = $realIP;
    //return $realIP;
}
add_action( 'init', 'getIP' );
页: [1]
查看完整版本: WordPress使用CDN后获取用户真实IP