Files
wenquanauth/function
youpaishidifu a688a24993 加固-10(P0-08): get_real_ip 全角竖线正则 bug——XFF 私有网段过滤一直未生效
function/function_core.php:159 的正则 /^(10│172.16│192.168)./ 中分隔符为
全角竖线 │(U+2502),对 ASCII IP 永远匹配不上,「跳过私有网段」逻辑
形同虚设:X-Forwarded-For 取到的总是客户端可自填的首项。后果是
IP 记录(sq_log_* 各表 IP 列)与基于 IP 的校验(如 API bindip 绑定)
可被 XFF 头伪造绕过。

修复:全角 │ 改为 ASCII 竖线 |(保留原网段清单 10/172.16/192.168,
不扩大行为面),原处注释说明原因。

回归(5 项全 PASS,CLI 直接驱动 get_real_ip):
- XFF [10.1.1.1, 8.8.8.8] -> 8.8.8.8(跳过私有,取首个公网)
- XFF [172.16.5.5, 192.168.1.1, 9.9.9.9] -> 9.9.9.9
- XFF [1.2.3.4] -> 1.2.3.4
- XFF 全私有 / 无 XFF -> 回退 REMOTE_ADDR
2026-10-10 13:08:44 +08:00
..
2019-12-09 10:23:56 +08:00
2019-12-09 10:23:56 +08:00
2019-12-10 23:31:32 +08:00
2019-12-09 10:23:56 +08:00
2019-12-09 10:23:56 +08:00
2019-12-09 10:23:56 +08:00
2019-12-09 10:23:56 +08:00
2019-12-09 10:23:56 +08:00
2024-08-09 14:18:39 +08:00
2021-07-20 13:43:34 +08:00