GET /api/v1/projects/
HTTP/1.1 401 Unauthorized
Content-Length: 34
Connection: keep-alive
Content-Type: application/json
Date: Thu, 26 Mar 2026 15:37:49 GMT
Keep-Alive: timeout=4
Proxy-Connection: keep-alive
Server: nginx/1.29.5
Www-Authenticate: Bearer
X-Request-Id: 0ba9a638-1bed-40e8-a442-3cbccd35bfaa
GET /api/v1/expansion/
HTTP/1.1 401 Unauthorized
Content-Length: 34
Connection: keep-alive
Content-Type: application/json
Date: Thu, 26 Mar 2026 15:37:50 GMT
Keep-Alive: timeout=4
Proxy-Connection: keep-alive
Server: nginx/1.29.5
Www-Authenticate: Bearer
X-Request-Id: 70aec423-827f-4b42-b729-0806d59aa2f3
问题1发现:API端点返回Method Not Allowed
{"detail":"Method Not Allowed"}
{"detail":"Not Found"}
{"detail":"Method Not Allowed"}
{"detail":"Method Not Allowed"}
发现的API端点:
"/api/v1/auth/refresh"
测试认证相关端点:
POST /api/v1/auth/refresh:
{"detail":"缺少认证令牌"}
测试登录API:
{"detail":"用户名或密码错误"}
{"detail":[{"type":"missing","loc":["body","username"],"msg":"Field required","input":null},{"type":"missing","loc":["body","password"],"msg":"Field required","input":null}]}
问题2发现:登录API不支持JSON格式
测试登录边界情况:
{"detail":"用户名或密码错误"}
{"detail":"用户名或密码错误"}
{"detail":"用户名或密码错误"}
{"detail":"用户名或密码错误"}
问题3发现:错误信息过于笼统
测试URL尾部斜杠处理:
HTTP/1.1 307 Temporary Redirect
Connection: keep-alive
Date: Thu, 26 Mar 2026 15:38:57 GMT
Keep-Alive: timeout=4
Location: http://novel.al.jrient.cn/api/v1/projects/
Proxy-Connection: keep-alive
Server: nginx/1.29.5
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Request-Id: 57dd53d3-c681-4b12-8cc9-e6f49aac5fd8
Content-Length: 0
HTTP/1.1 401 Unauthorized
Content-Length: 34
Connection: keep-alive
Content-Type: application/json
Date: Thu, 26 Mar 2026 15:38:58 GMT
Keep-Alive: timeout=4
Proxy-Connection: keep-alive
Server: nginx/1.29.5
Www-Authenticate: Bearer
X-Request-Id: 9c5fc240-1087-4736-ae5c-4c4b7e01560e
{"detail":"无效的认证凭据"}
问题4发现:API URL需要尾部斜杠
分析前端代码中的扩写相关API:
前端代码中与扩写相关的关键词:
Expand
expandRowLabel
测试可能的扩写API端点:
POST /api/v1/expansion/analyze:
{"detail":"Method Not Allowed"}
POST /api/v1/expansion/create:
{"detail":"Method Not Allowed"}
POST /api/v1/expansion/list:
{"detail":"Method Not Allowed"}
POST /api/v1/expansion/start:
{"detail":"Method Not Allowed"}
POST /api/v1/expansion/process:
{"detail":"Method Not Allowed"}
POST /api/v1/expansion/result:
{"detail":"Method Not Allowed"}
测试expansion端点的不同HTTP方法:
{"detail":"Method Not Allowed"}
{"detail":"Method Not Allowed"}
{"detail":"Method Not Allowed"}
问题5发现:HTTP方法处理不一致
测试各API端点响应时间:
问题6发现:主JS文件较大
测试安全相关头信息:
HTTP/1.1 200 OK
Content-Length: 1162
Accept-Ranges: bytes
Cache-Control: no-cache
Cache-Control: no-cache, no-store, must-revalidate
Connection: keep-alive
Content-Type: text/html
Date: Thu, 26 Mar 2026 15:40:02 GMT
Etag: "69c54094-48a"
Expires: Thu, 26 Mar 2026 15:40:01 GMT
Keep-Alive: timeout=4
Last-Modified: Thu, 26 Mar 2026 14:20:04 GMT
Proxy-Connection: keep-alive
Server: nginx/1.29.5
Vary: Accept-Encoding
HTTP/1.1 400 Bad Request
Content-Length: 22
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Max-Age: 600
Connection: keep-alive
Content-Type: text/plain; charset=utf-8
Date: Thu, 26 Mar 2026 15:40:02 GMT
Keep-Alive: timeout=4
Proxy-Connection: keep-alive
Server: nginx/1.29.5
Vary: Origin
X-Request-Id: d5f99243-50ec-4653-a984-61fe59d6744d
问题7发现:缺少部分安全响应头
| 编号 | 问题描述 | 严重程度 | 状态 |
|---|---|---|---|
| P1 | 扩写API端点无法直接访问(需要认证) | 一般 | 待确认 |
| P2 | 登录API不支持JSON格式 | 一般 | 待修复 |
| P3 | 错误信息过于笼统 | 一般 | 待讨论 |
| P4 | API URL需要尾部斜杠 | 一般 | 待修复 |
| P5 | HTTP方法处理不一致 | 一般 | 待修复 |
| P6 | 主JS文件较大(240KB) | 低 | 待优化 |
| P7 | 缺少部分安全响应头 | 一般 | 待添加 |
报告生成时间:2026-03-26 23:40:19 测试人员:测试虾