修复(chat): 新增真实 IP 获取中间件及重构用户 IP 轨迹追踪逻辑

- 新增 CloudflareProxies 前置中间件,强制解析 CDN 透传的 CF-Connecting-IP 与 X-Real-IP 并在底层接管,修复 Nginx 代理造成的全局 IP 同化 (127.0.0.1) 问题
- 修改 User 模型,新增 migration 以补全真正的 previous_ip 储存通道
- 修改 AuthController 登录逻辑,在覆写 last_ip 前实现向 previous_ip 的自动历史快照备份
- 修改 UserController API 返回逻辑,实现 first_ip、last_ip(上次)以及 login_ip(本次)的三轨分离
- 更新 user-actions.blade.php 管理员视野面板,同步增加并校验“首次IP”、“上次IP”、“本次IP”三级字段映射的准确性
This commit is contained in:
2026-03-09 11:53:58 +08:00
parent 89122773af
commit 529a59551c
7 changed files with 76 additions and 7 deletions

View File

@@ -130,8 +130,9 @@ class AuthController extends Controller
// 递增访问次数
$user->increment('visit_num');
// 更新最后登录IP和时间
// 更新最后登录IP和时间同时将旧IP转移到 previous_ip 作上次登录记录)
$user->update([
'previous_ip' => $user->last_ip,
'last_ip' => $ip,
'log_time' => now(),
'in_time' => now(),