Files
coolcoth.com/PATCH-README-security.txt
2026-08-08 15:53:53 +08:00

49 lines
3.1 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
圣巧依官网 · 安全加固补丁部署说明
====================================
本补丁依据安全扫描报告,修复以下全部问题(部署后无需额外配置):
【高危 / 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(正常页面均会自动注入)。