文件还在测试中

This commit is contained in:
2026-08-08 15:53:53 +08:00
parent 5f1e7adb64
commit 8101177cb5
241 changed files with 18074 additions and 22 deletions
+48
View File
@@ -0,0 +1,48 @@
圣巧依官网 · 安全加固补丁部署说明
====================================
本补丁依据安全扫描报告,修复以下全部问题(部署后无需额外配置):
【高危 / High】
1. 缺失 HSTS(复查补充:增加 preload
-> 新增 Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
(preload 已随本补丁追加,可直接提交至浏览器 HSTS 预加载列表)
2. CSP 过于宽松(script-src 含 'unsafe-inline'
-> 改为基于 nonce 的严格 CSPscript-src 'self' 'nonce-xxx'(移除 'unsafe-inline'/'unsafe-eval');
前端入口通过输出缓冲自动为所有内联 <script>/<style> 注入本次请求 nonce
原 27 处内联 onclick/onsubmit 确认框已重构为 data-confirm 属性 + admin.js 委托监听。
3. 管理后台登录无验证码 / 限速不足
-> 登录增加算术验证码(无第三方依赖);并新增 IP 级失败限速(fail2ban 式,文件缓存),
与原有会话级限速叠加,抗机器人暴力破解。
【中危 / Medium】
4. 缺失 Permissions-Policy
-> 新增 Permissions-Policy 收敛 geolocation/microphone/camera/payment/usb 等敏感 API。
5. 联系表单缺垃圾防护
-> 新增蜜罐字段(隐藏,机器人填写即静默丢弃)+ 算术验证码 + 服务端输入校验(姓名/电话格式/长度)
+ 后端 IP 级提交限速(每 15 分钟最多 5 次,复用 storage/rate_contact.json)。
6. 客户端输入校验缺失
-> 登录与联系表单增加 maxlength/pattern/inputmode/autocomplete 等原生校验属性。
7. 密码框缺 autocomplete
-> 登录密码框 autocomplete="current-password",账号框 autocomplete="username",联系表单电话 autocomplete="tel"。
【低危 / Low】
8. 缺失 robots.txt -> public/robots.txt(屏蔽 /admin/、/CRM/、/PSI/)。
9. 缺失规范链接 -> 前端布局注入 <link rel="canonical">。
10. 暴露 Vite 开发产物 -> 经核查项目未使用 Vitepublic/ 下无 .vite / node_modules / @vite 资源),属误报,无需处理。
11. 缺失 X-XSS-Protection -> 新增 X-XSS-Protection: 1; mode=block(旧浏览器纵深防御)。
【额外修复(报告外但同属高危)】
- 根入口 index.php 含 phpinfo() 信息泄露,已移除并转发至正式入口 public/index.php。
二、部署步骤
-----------
1. 将 security-patch.zip 内文件按相同目录结构覆盖上传到站点根目录。
2. 确保站点根目录可写(IP 限速缓存会写入 storage/login_ip.json;若不可写,限速降级为仅会话级,不影响其他功能)。
3. 刷新后台登录页与联系页,确认出现验证码、删除/操作确认弹窗正常、页面无 JS 报错。
4. 建议部署后通过浏览器开发者工具「网络」面板确认响应头包含
Strict-Transport-Security、Content-Security-Policy(含 nonce-)、Permissions-Policy、X-XSS-Protection。
三、回滚
-------
保留部署前文件备份即可回滚。CSP 收紧若导致个别内联脚本异常,优先检查是否仍有遗漏的内联事件处理器或 <script> 未带 nonce(正常页面均会自动注入)。