v1.0.51: 批次1架构筑基 - 1)版本迁移(common/migrate.php+schema_versions+natsort迁移文件);2)登录安全(bcrypt平滑迁移login/user_add/user_update旧sha1命中自动重写+system_login_attempts限流+session加固httponly/samesite/secure);3)CSRF Token(服务端checkCsrf+auth/csrf.php登录页取token+前端common.js/login.js统一携带X-CSRF-Token);4)统一基座common/Api.php并存量强制迁移全部70个endpoint(Api::boot按public/super/module/permissions分流,写接口强制checkAjax+checkCsrf,全局异常处理);5)前端收敛(common.js新增esc转义别名);6)REV-4硬数据来源渠道可编辑(hard_update+补全弹窗下拉);7)prepared卫生(soft_update.php修复+analysis.php表名白名单REV-9)

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
qianqiuwanzi
2026-09-17 14:48:17 +08:00
parent 69fd4246c2
commit c86f08c325
91 changed files with 1072 additions and 463 deletions
+4 -4
View File
@@ -1,12 +1,11 @@
<?php
/**
* 会话校验接口 GET /api/auth/session.php
* 前端页面加载时调用:未登录返回 401(前端跳转登录页),已登录返回当前用户信息。
* 前端页面加载时调用:未登录返回 401(前端跳转登录页),已登录返回当前用户信息 + CSRF Token。
*/
require_once __DIR__ . '/../common/response.php';
require_once __DIR__ . '/../common/auth.php';
require_once __DIR__ . '/../common/Api.php';
requireLogin();
Api::boot(); // 仅要求登录
$pdo = DB::getInstance()->getPdo();
$stmt = $pdo->prepare("SELECT last_login_time, last_login_ip FROM system_users WHERE id = ?");
@@ -19,6 +18,7 @@ Response::success([
'real_name' => $_SESSION['real_name'],
'role_name' => $_SESSION['role_name'],
'permissions' => $_SESSION['permissions'],
'csrf_token' => csrfToken(),
'last_login_time' => $loginInfo['last_login_time'] ?? null,
'last_login_ip' => $loginInfo['last_login_ip'] ?? null,
]);