安全需求阶段前端要做什么具体工作? 司空冬冬 提问于 2026-03-27 08:32:23 阅读 23 安全 我们团队刚开始推行安全开发生命周期(SDL),现在卡在「安全需求」阶段。作为前端,除了常规的功能需求,到底要提哪些和安全相关的需求啊?比如是不是得要求后端接口必须带 CSRF token?还是说要明确哪些页面需要 CSP 策略? 我试着在 PRD 里加了一条:所有表单提交需防止 CSRF 攻击,但产品经理说太模糊,开发也不知道怎么落地。有没有更具体、可执行的写法?或者前端在这个阶段该关注哪些威胁模型? 安全开发生命周期安全需求 我来解答 赞 7 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 皇甫瑞瑞 Lv1 前端在安全需求阶段确实需要明确很多具体的工作内容。先说说 CSRF 防护,你提到的在 PRD 里写“所有表单需防止 CSRF 攻击”确实太模糊了。 具体来说,前端要做的第一件事是确保每个请求都带上 CSRF token。后端生成一个唯一的 token,前端通过 cookie 获取到这个 token 后,在发送敏感操作请求时(比如修改用户信息、转账等),把这个 token 作为请求参数或 header 发送给服务器。比如在 Vue 中可以这样实现: axios.defaults.headers.common['X-CSRF-Token'] = document.cookie.match(/csrfToken=([^;]+)/)[1]; 至于产品经理说的落地问题,你可以把这块写成:对于所有涉及数据变更的操作接口,前端必须在请求中携带从服务端获取的有效 CSRF token,token 应存储在 cookie 中并设置为 HttpOnly=false,以便 JS 可以读取。 再说说 CSP(内容安全策略)。前端要关注的是哪些页面会加载外部资源,比如第三方脚本、图片等。比如我们的支付页面,不允许任何外部脚本执行,那就需要设置 CSP 策略: <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'"/> 这里的关键在于分析每个页面的功能和风险,比如登录页、支付页这些高风险页面必须严格限制资源来源。至于威胁模型,建议从用户输入、数据传输、存储三个方面考虑。用户输入要做好 XSS 防护,数据传输要确保加密,存储要对敏感信息做加密处理。像密码这种数据,前端不要明文传输,应该用 bcrypt 进行哈希后再提交给后端。这虽然主要是后端的事,但前端也要配合做好输入验证。 最后提个坑,有些开发觉得这些安全措施麻烦,想偷懒跳过。但从经验来看,一旦出了安全事故,修复成本比提前预防高得多。所以即使繁琐也得坚持做。 回复 点赞 2026-03-27 09:02 加载更多 相关推荐 2 回答 22 浏览 安全需求阶段前端要做什么? 我们团队刚开始引入安全开发生命周期(SDL),现在卡在“安全需求”这一步。作为前端,我不太清楚自己该提哪些具体的安全需求,比如是不是所有用户输入都要过滤?还是说只要后端处理就行? 我试过在表单提交前用... 伊可 安全 2026-02-28 22:05:21 1 回答 39 浏览 前端开发中如何落地SDL安全实践? 我们团队最近开始推行安全开发生命周期(SDL),但我作为前端,不太清楚具体该做些什么。比如在需求和设计阶段,前端需要参与哪些安全评审? 我试过在代码里加 CSP 头,但上线后发现很多第三方脚本报错,像... Good“皓阳 安全 2026-03-13 20:34:19 1 回答 3 浏览 前端项目做安全评估时该检查哪些地方? 最近公司要对我们的 React 项目做安全审计,但我作为前端不太清楚具体要查什么。XSS、CSRF 这些听说过,但不知道在代码里怎么找漏洞。 比如我们有用 dangerouslySetInnerHTM... 码农淑萍 安全 2026-03-30 18:07:11 2 回答 33 浏览 前端安全日志该记录哪些内容?怎么避免泄露敏感信息? 最近在做项目的安全审计,要求前端也要输出安全日志。但我有点懵,不知道该记什么——比如用户操作、接口调用这些能记吗?又怕不小心把 token 或用户隐私打到日志里,反而造成风险。 我试着加了个简单的样式... Prog.佳佳 安全 2026-03-15 11:51:20 2 回答 25 浏览 前端密码加密到底该怎么做才安全? 我在做登录页面,用户输入的密码直接传给后端总觉得不安全,想在前端先加密一下。但不知道用什么方式合适,试过用 crypto-js 做 MD5,结果发现好像还是能被破解? 而且我看到有人说前端加密没意义,... 码农艺霖 前端 2026-03-03 09:27:20 2 回答 58 浏览 安全需求文档该怎么写才能防XSS漏洞? 我们在做用户评论功能时,测试发现XSS漏洞,但安全需求文档里只写了“过滤危险字符”,具体该怎么做才能有效防范呢? 之前尝试用正则表达式过滤了<script>标签和特殊字符,但测试人员用Un... UX-彩云 安全 2026-01-29 21:23:26 1 回答 20 浏览 前端用 MD5 加密密码真的安全吗? 我在做一个登录页面,想在前端用 MD5 对用户密码做哈希后再传给后端。但听说 MD5 已经不安全了,可我看很多老项目还在用,有点懵。 我试过用 crypto-js/md5 这个库,代码大概是这样: i... a'ゞ旗施 安全 2026-03-27 11:01:23 1 回答 25 浏览 前端加密时密钥到底该怎么安全存储? 我在做用户敏感数据的前端加密,用的是 AES,但密钥放哪儿都感觉不安全。放 localStorage 会被 XSS 拿走,写死在代码里又容易被反编译看到,这不就白加密了? 试过用环境变量 proces... 司徒倩云 安全 2026-03-25 16:04:24 1 回答 32 浏览 前端操作日志怎么安全地记录用户行为? 我们项目要加操作日志功能,记录用户在页面上的关键操作,比如点击了哪个按钮、修改了什么数据。但我不确定前端直接打日志会不会有安全风险? 比如现在我用 fetch('/log', { method: 'P... 万莉的笔记 安全 2026-03-25 01:45:23 1 回答 39 浏览 前端能直接加密用户密码吗?怎么保证安全? 我在做登录页面,想在前端把用户输入的密码加密后再传给后端,但不确定这样做是不是真的安全。试过用 crypto-js 做 SHA256 加密,但听说这样其实没用,因为密钥或算法暴露在前端,攻击者照样能还... UX秀玲 安全 2026-03-21 13:28:25
具体来说,前端要做的第一件事是确保每个请求都带上 CSRF token。后端生成一个唯一的 token,前端通过 cookie 获取到这个 token 后,在发送敏感操作请求时(比如修改用户信息、转账等),把这个 token 作为请求参数或 header 发送给服务器。比如在 Vue 中可以这样实现:
至于产品经理说的落地问题,你可以把这块写成:对于所有涉及数据变更的操作接口,前端必须在请求中携带从服务端获取的有效 CSRF token,token 应存储在 cookie 中并设置为 HttpOnly=false,以便 JS 可以读取。
再说说 CSP(内容安全策略)。前端要关注的是哪些页面会加载外部资源,比如第三方脚本、图片等。比如我们的支付页面,不允许任何外部脚本执行,那就需要设置 CSP 策略:
这里的关键在于分析每个页面的功能和风险,比如登录页、支付页这些高风险页面必须严格限制资源来源。至于威胁模型,建议从用户输入、数据传输、存储三个方面考虑。用户输入要做好 XSS 防护,数据传输要确保加密,存储要对敏感信息做加密处理。像密码这种数据,前端不要明文传输,应该用 bcrypt 进行哈希后再提交给后端。这虽然主要是后端的事,但前端也要配合做好输入验证。
最后提个坑,有些开发觉得这些安全措施麻烦,想偷懒跳过。但从经验来看,一旦出了安全事故,修复成本比提前预防高得多。所以即使繁琐也得坚持做。