传输层安全与中间人(MITM)
若站点可从 HTTP 访问或通过 混合内容 加载脚本,攻击者在同一局域网或链路节点可 篡改 JS / 注入脚本。HTTPS + HSTS 可迫使浏览器长期仅用 TLS 访问。
混合内容示例(危险)
html
<script src="http://cdn.example/app.js"></script>中间人可替换 app.js 为恶意脚本。
改为全程 HTTPS:
html
<script src="https://cdn.example/app.js"></script>HSTS(由服务端下发)
http
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload含义:浏览器在未来一段时间内 自动升级 到 HTTPS,减少 sslstrip 降级攻击。
前端可通过 <meta> 也能发送信号,但 首选服务端响应头(覆盖面正确)。
证书与跳转
- 生产环境使用合法 CA 证书。
- 登录页 不要 从 HTTP 301 到 HTTPS 时泄漏 Cookie(需
SecureCookie + 全程 TLS)。
小结
前端职责:杜绝主动混合内容、外链全部 HTTPS;HSTS、证书、全站 TLS 主要由服务端与运维配置,前端代码应避免依赖明文端口与非 TLS API。
