移除登录失败限流;修复连接信息被 e2e 串味为 127.0.0.1
- bootstrap.php/login.php:整体移除「5 次失败锁 10 分钟」限流,登录失败仅即时提示原因 - 新增 tools/fix-config.php:一键双写修正连接地址(默认 exam.nxxy335.top),清空账号密码让用户重输真实卷王凭据 - NY_DATA 隔离落地:run-all.sh 给写配置的 e2e 指向临时目录;修 Windows Git Bash /c/... 路径规范化 bug;.ny-test-data 加 .gitignore - 清理 dead throttle 引用(e2e 脚本 + docs) - 修 login.php 真实 bug:ny_is_auth() 分支在加载 $cfg 前引用导致 Undefined variable 警告 - 全量测试 116 通过(PHP 44 + e2e 72)
This commit is contained in:
@@ -64,8 +64,6 @@ e2e 会备份并修改 `data/ny.db`、`data/config.json`、`data/roster.json`,
|
||||
```bash
|
||||
git status data/ # data/ 已被 gitignore,需手工核对
|
||||
```
|
||||
|
||||
另外测试前请删除 `data/login_fail.json`,否则可能触发登录限流。
|
||||
:::
|
||||
|
||||
## 写新测试时注意
|
||||
|
||||
+3
-2
@@ -18,9 +18,10 @@
|
||||
务必从登录响应的 `Set-Cookie` 中取出 `sk-token`,并在后续每个请求带上
|
||||
`Cookie: sk-token=<token>`。本平台已处理此细节。
|
||||
|
||||
**Q:登录一直失败并被锁住**
|
||||
**Q:登录一直失败**
|
||||
|
||||
连续 5 次失败会锁定 10 分钟。等待即可;如需立即解锁,删除 `data/login_fail.json`。
|
||||
登录失败只会在登录页即时提示原因(账号/密码错、地址不可达等),不会因多次失败被锁。
|
||||
若登录页连接信息显示成 `127.0.0.1` 等错误地址,用 `php tools/fix-config.php` 修正即可。
|
||||
|
||||
**Q:卷王改了密码后平台一直提示未登录**
|
||||
|
||||
|
||||
+1
-1
@@ -40,7 +40,7 @@ features:
|
||||
details: 零依赖生成 .xlsx,支持多工作表、最新成绩视图、成绩明细与缺考名单打印。
|
||||
- icon: 🔒
|
||||
title: 安全内建
|
||||
details: 会话登录、CSRF 令牌、登录失败限流,上传文件白名单 + 随机名 + 解析后即删。
|
||||
details: 会话登录、CSRF 令牌,上传文件白名单 + 随机名 + 解析后即删。
|
||||
---
|
||||
|
||||
## 三分钟了解它
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
- 卷王令牌缓存在 `data/cache/token.json`;令牌失效时平台会自动重新登录;
|
||||
若卷王侧也认证失败,前端会先调用 `logout.php` 清会话再跳转登录页,避免出现跳转死循环。
|
||||
|
||||
## 登录限流
|
||||
## 登录失败处理
|
||||
|
||||
连续 **5 次**登录失败 → 锁定 **10 分钟**。状态记录在 `data/login_fail.json`。
|
||||
|
||||
应急解锁:删除 `data/login_fail.json`。
|
||||
登录失败(卷王账号/密码错、地址不可达等)只会在登录页即时提示原因,**不做失败次数限流**——
|
||||
单机内网工具场景下,限流常因配置写错或测试串味把正常用户挡在门外,且无实际防爆破价值。
|
||||
若怀疑连接配置被测试污染导致连不上真实卷王,用 `php tools/fix-config.php` 一键修正连接地址。
|
||||
|
||||
## CSRF 防护
|
||||
|
||||
|
||||
Reference in New Issue
Block a user