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