# Changelog — 非白名单登录页仅壁纸 + API 零泄露（2026-06-08）

## 摘要

非白名单 IP 访问 `#/login` 时页面只显示壁纸（无卡片、无 IP、无加载提示）；`GET /api/auth/login-access` 与 `POST /login` 拦截时返回 403 空 body，响应中不含 client_ip / message / allowlist 字段。

## 动机

提示卡与 API 字段可被抓包获取 IP 与白名单状态，不符合隐蔽门禁要求。

## 涉及文件

| 文件 | 说明 |
|------|------|
| `frontend/src/pages/LoginPage.vue` | blocked/checking 仅壁纸；form 才渲染登录卡 |
| `server/api/auth.py` | login-access 403 空 body；login ip_blocked 403 空 body |
| `server/application/services/auth_service.py` | 客户端 message 改为通用「拒绝访问」 |
| `tests/test_login_access.py` | 断言无 IP 泄露 |

## 迁移 / 重启

需重启 API + 前端 build 部署。

## 验证

`pytest tests/test_login_access.py` · 非白名单 IP 抓包 login-access 为 403 无 JSON
