前端安全常被误解成“反正前端不可信,所以不用管”。这句话只对了一半。最终权限和数据安全确实要由后端兜底,但前端仍然负责减少暴露面、避免误导用户、保护敏感信息和降低常见攻击风险。

一、不要把敏感信息交给前端

前端代码和构建产物对用户可见,不能放密钥、后台接口密码、云服务私密 token。环境变量只要以可注入到前端的方式使用,就应该默认是公开信息。真正的密钥必须放在服务端或平台 secret 里。

二、输入输出都要谨慎

用户输入不应该直接作为 HTML 注入页面。富文本、链接、图片地址、第三方内容都要做限制和转义。即使后端已经过滤,前端展示时也要避免使用不必要的原始 HTML。链接跳转要注意开放重定向和钓鱼风险。

前端安全的底线,是不要因为展示和交互层的疏忽扩大风险。

三、鉴权状态不能只靠界面隐藏

前端可以根据权限隐藏按钮,但不能把隐藏当成安全控制。用户仍然可以构造请求,后端必须校验权限。前端的职责是减少误操作和提供清晰反馈,后端的职责是拒绝不合法动作。

  • 前端环境变量不能保存私密密钥。
  • 用户内容展示要避免直接注入 HTML。
  • 按钮隐藏只改善体验,不能替代后端权限校验。
  • 第三方依赖要控制来源、版本和更新风险。

安全不是单点能力,而是前后端边界清楚、默认不信任输入、敏感信息不外露的长期习惯。