星海

网络与安全 · 单选题 · 第 33 题

前端与全栈开发面试 · 第 33 题

下列措施中,能有效防御 CSRF(跨站请求伪造)的是?

  1. A给 Cookie 设置 HttpOnly,禁止页面中的脚本读取 Cookie 的内容
  2. B把所有修改数据的接口都改成 GET 请求,方便浏览器缓存请求结果
  3. C前端提交表单之前,先用 Base64 把参数编码一遍,然后再发送出去
  4. DCookie 设置 SameSite=Lax 或 Strict,并对写操作校验 CSRF Token

答案

D D. Cookie 设置 SameSite=Lax 或 Strict,并对写操作校验 CSRF Token

解析

CSRF 利用的是浏览器会自动携带 Cookie,攻击者并不需要读到 Cookie,所以 HttpOnly 防不了它。SameSite 限制跨站请求携带 Cookie;CSRF Token 放在页面或请求头里,第三方站点拿不到。校验 Origin、Referer 头也是常用手段。写操作用 GET 反而让一个图片链接就能发起攻击。

在线刷这套题:即时判分、错题本、闪卡复习,不用登录就能练。