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

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

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

[复制链接]
发表于 2024-1-8 21:41:48 | 显示全部楼层 |阅读模式
在主题文件function.php下添加以下代码即可解决:
4 c& \+ D4 U. Z+ H
  1. /**$ w; k: H- i! {5 X0 N
  2. * 获取用户真实IP  }" G8 v4 C, s# t
  3. */' z" ^. Z0 S% D% t4 P
  4. function getIP()3 l- y! P* y- x* t/ x" \2 e% w
  5. {4 K, \/ @9 m, j
  6.     static $realIP;
    3 Z& q/ A6 K% |. F3 D6 k
  7.     if (isset($_SERVER)){% ^% N% ~5 q" Q4 t" s
  8.         if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
    4 [/ n6 @. o& f. Z
  9.             $realIP = explode(',', $_SERVER["HTTP_X_FORWARDED_FOR"]);1 _  h! D0 W! F
  10.             $realIP = $realIP[0];
    1 ~$ a6 u; l. M! }3 G: R5 f) y
  11.         } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
    $ }+ q" H( ?6 n1 _% w
  12.             $realIP = $_SERVER["HTTP_CLIENT_IP"];
    . e0 r4 L1 s) T* }% O
  13.         } else {
    " X+ q& m$ e3 u& `
  14.             $realIP = $_SERVER["REMOTE_ADDR"];6 v6 q( D/ \* O, v) a. u. V; ^! U
  15.         }
    . }6 M1 ?' g' F; a* W
  16.     } else {
    3 X' o) G/ u, ~- x
  17.         if (getenv("HTTP_X_FORWARDED_FOR")){
    : o8 j  P) c% e$ j
  18.             $realIP = getenv("HTTP_X_FORWARDED_FOR");
    5 j0 X1 K( v7 ^5 @9 {3 H, o  ^
  19.         } else if (getenv("HTTP_CLIENT_IP")) {) F7 k; X# v. X  ?; M: o
  20.             $realIP = getenv("HTTP_CLIENT_IP");- M/ N: a- f' e- L
  21.         } else {
    5 S9 {6 @$ u3 V+ e9 b0 ]
  22.             $realIP = getenv("REMOTE_ADDR");0 S/ q* p- @5 ?2 r
  23.         }" q+ A- G6 O$ w3 }9 N
  24.     }# M1 e' p9 C5 l1 P: s
  25.     $_SERVER['REMOTE_ADDR'] = $realIP;
    ! ^4 ?$ r* W2 R0 \3 s; z5 n
  26.     //return $realIP;5 }- }( ?; {& W) g
  27. }
    # b& ?' N5 T0 J0 J3 [4 s) h
  28. add_action( 'init', 'getIP' );
复制代码

: x2 g- Z& s# }9 Z. `
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-3-31 16:05 , Processed in 0.010644 second(s), 6 queries , APCu On.

Powered by Discuz!

© 2010-2023.

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