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

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

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

[复制链接]
发表于 2024-1-8 21:41:48 | 显示全部楼层 |阅读模式
在主题文件function.php下添加以下代码即可解决:
# u9 _0 z. z- [6 Z4 t
  1. /**; X4 _0 B! D: n
  2. * 获取用户真实IP- E- Q4 p' i$ n9 @
  3. */
    ( x3 M9 h7 a; c# S
  4. function getIP()
    % P& ?% Y7 \' D3 J- T
  5. {9 C/ C% ^8 J4 ?+ A" S* A
  6.     static $realIP;% {; t; x2 e9 Q1 |3 K  v
  7.     if (isset($_SERVER)){, g' v5 h4 L4 f/ ]
  8.         if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){% R/ N* a* J( `
  9.             $realIP = explode(',', $_SERVER["HTTP_X_FORWARDED_FOR"]);
    6 T6 z# D* h/ F& d- Q2 \1 N" Y/ A
  10.             $realIP = $realIP[0];
    6 p# N) W) Z2 m
  11.         } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
    / a- f3 o8 h% X4 T. z
  12.             $realIP = $_SERVER["HTTP_CLIENT_IP"];
    $ Y7 Z4 d/ G& j* M/ z
  13.         } else {
    , M7 h1 Y3 y, p  |5 R5 I9 v
  14.             $realIP = $_SERVER["REMOTE_ADDR"];
    7 l' S) H2 H7 h5 U* M) h
  15.         }9 M! L! y% D6 W3 _2 J8 e: S5 \: i! [
  16.     } else {
    ( h! S; |. b5 h8 A
  17.         if (getenv("HTTP_X_FORWARDED_FOR")){
    $ X6 s. _1 Z6 A
  18.             $realIP = getenv("HTTP_X_FORWARDED_FOR");/ i7 @; Z$ ?8 V% d/ m
  19.         } else if (getenv("HTTP_CLIENT_IP")) {
    ; O6 }5 b4 U: G( l
  20.             $realIP = getenv("HTTP_CLIENT_IP");. m6 ?+ b4 u8 q/ g
  21.         } else {% X9 J1 L5 m. y# W. d4 X( M  a
  22.             $realIP = getenv("REMOTE_ADDR");7 c8 K4 {. D/ N; X3 l1 `9 }
  23.         }
    + U# Y3 t4 ]/ E0 f0 ]: \
  24.     }; \& `1 p' M" |
  25.     $_SERVER['REMOTE_ADDR'] = $realIP;
    ( g8 H( s- ~' C; X0 C5 P, M
  26.     //return $realIP;  c) x; ~7 e& e; R" C
  27. }
    ( ~! Q0 r( n/ }. m
  28. add_action( 'init', 'getIP' );
复制代码
! M; C& [$ B5 I( |# Q
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-23 21:21 , Processed in 0.043191 second(s), 6 queries , APCu On.

Powered by Discuz!

© 2010-2023.

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