稳定互联,中美互联,站长交流,虚拟主机,香港主机,美国主机,虚拟空间,免费空间,免费VPS,免费域名

 找回密码
 立即注册
查看: 2452|回复: 0

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

[复制链接]
发表于 2024-1-8 21:41:48 | 显示全部楼层 |阅读模式
在主题文件function.php下添加以下代码即可解决:6 ^  @( P7 T2 [; s3 f/ j
  1. /**
    7 M1 s* v* s6 q, W
  2. * 获取用户真实IP! O7 x7 L0 \; Z8 ?
  3. */
      R5 b! T, Q8 D
  4. function getIP()
    9 U/ c7 f+ m+ u) z! z) s8 m' X
  5. {2 c5 o( n6 E) Q3 j7 k
  6.     static $realIP;
    - [$ a0 Y4 o6 W7 C6 _9 e
  7.     if (isset($_SERVER)){* C1 O+ f) S9 I
  8.         if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
    / S( W. c1 ]! B: R
  9.             $realIP = explode(',', $_SERVER["HTTP_X_FORWARDED_FOR"]);
    3 v7 P" r! r/ b7 ?
  10.             $realIP = $realIP[0];
    4 s5 \3 m- j; U: S) Q' e
  11.         } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
    $ m4 G. j7 f3 u; {. M
  12.             $realIP = $_SERVER["HTTP_CLIENT_IP"];3 e  |2 c; f. ~/ M
  13.         } else {
    2 }+ b/ ~9 t' p
  14.             $realIP = $_SERVER["REMOTE_ADDR"];$ P2 x/ a7 z) ]: n, T$ ?& O* j" o
  15.         }% I& `& v5 u* H
  16.     } else {
    # \9 s/ @" s- u0 s8 T5 j
  17.         if (getenv("HTTP_X_FORWARDED_FOR")){& \" I4 F" m3 Z. c* W4 {' ]. F$ \
  18.             $realIP = getenv("HTTP_X_FORWARDED_FOR");
    " }. T2 d* G9 o
  19.         } else if (getenv("HTTP_CLIENT_IP")) {% ~5 x( g: |& T; g
  20.             $realIP = getenv("HTTP_CLIENT_IP");
    2 y4 X2 c/ x# Q/ g4 G
  21.         } else {
    $ |9 H1 F' k2 u$ K0 Z. P* u
  22.             $realIP = getenv("REMOTE_ADDR");' {7 _! }+ F$ D3 s+ c+ R
  23.         }
    2 x: U- i8 w" k6 x' m
  24.     }' g: U% ^* x( J$ L% l
  25.     $_SERVER['REMOTE_ADDR'] = $realIP;5 a9 I4 S) f& [6 T
  26.     //return $realIP;
    0 T/ h( i: n* g1 U$ p8 ?
  27. }
    * d! a& ]; q' _. I( h
  28. add_action( 'init', 'getIP' );
复制代码

4 g( |& t; S% ?6 K
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|WdidcNet ( 苏ICP备17005075号-1 )

GMT+8, 2024-10-6 03:49 , Processed in 0.028954 second(s), 7 queries , APCu On.

Powered by Discuz!

© 2010-2023.

快速回复 返回顶部 返回列表