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

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

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

[复制链接]
发表于 2024-1-8 21:41:48 | 显示全部楼层 |阅读模式
在主题文件function.php下添加以下代码即可解决:
- [3 X, U4 I4 e7 U  s7 x  x
  1. /**
    : ]& }7 V; j5 j9 C; B9 [
  2. * 获取用户真实IP
    8 b% f0 I1 c9 f  y6 B! @' K
  3. */2 J) `. l( t; _: j3 F* v; t
  4. function getIP()  ~) x' {' U8 l: P& ?2 y
  5. {2 A1 R% R1 m- p% d
  6.     static $realIP;
    6 o5 b4 |0 E6 h
  7.     if (isset($_SERVER)){
    ( N. `) e5 O3 t, Z2 T
  8.         if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){" |4 E& m7 Y$ T+ l
  9.             $realIP = explode(',', $_SERVER["HTTP_X_FORWARDED_FOR"]);6 P  y! D. u7 D1 ]5 U
  10.             $realIP = $realIP[0];8 U# E* y# T9 z3 k0 i
  11.         } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {6 l& |; R9 W5 L2 l; Q) s" O, x
  12.             $realIP = $_SERVER["HTTP_CLIENT_IP"];8 `' p# q5 i: j. s
  13.         } else {9 T' J2 ~0 e2 H# G$ ^5 _/ q
  14.             $realIP = $_SERVER["REMOTE_ADDR"];, v' f3 ~! C+ I; H' `% I
  15.         }
      F& E" Q7 O6 O8 U
  16.     } else {; c2 J/ q  h- z
  17.         if (getenv("HTTP_X_FORWARDED_FOR")){% k  D/ }" L* g& s
  18.             $realIP = getenv("HTTP_X_FORWARDED_FOR");
    ! W" ]4 o9 \2 T  Q5 C  C
  19.         } else if (getenv("HTTP_CLIENT_IP")) {
    ! M/ Z/ t" _" p4 V/ ?6 D
  20.             $realIP = getenv("HTTP_CLIENT_IP");: w* c' V( o" f  N+ T
  21.         } else {
    * X$ i  H  V/ n/ W0 x
  22.             $realIP = getenv("REMOTE_ADDR");
    " O5 D& E: q  I! \4 i
  23.         }3 j8 B) D+ h% r/ G/ ]# [& s
  24.     }% t, r6 D  |; n- N
  25.     $_SERVER['REMOTE_ADDR'] = $realIP;) M* z" B; u* @
  26.     //return $realIP;
    ! d5 N9 x# G* a; h5 C
  27. }
    1 \0 m4 m# T( O7 a
  28. add_action( 'init', 'getIP' );
复制代码

- q( Y" t% D: `; n8 e
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-24 19:34 , Processed in 0.023139 second(s), 7 queries , APCu On.

Powered by Discuz!

© 2010-2023.

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