如何防御 CSRF 攻击?

CSRF 攻击可以使用以下方法来防护:

1.进行同源检测,

服务器根据 http 请求头中 origin 或者 referer信息来判断请求是否为允许访问的站点,从而对请求进行过滤。

当origin 或者 referer 信息都不存在的时候,直接阻止请求。

这种方式的缺点是有些情况下 referer 可以被伪造,同时还会把搜索引擎的链接也给屏蔽了。

所以一般网站会允许搜索引擎的页面请求,但是相应的页面请求这种请求方式也可能被攻击者给利用。(Referer 字段会告诉服务器该网页是从哪个页面链接过来的)

2.使用 CSRF Token 进行验证,

服务器向用户返回一个随机数 Token ,

当网站再次发起请求时,在请求参数中加入服务器端返回的 token ,

然后服务器对这个 token 进行验证。

这种方法解决了使用 cookie单一验证方式时,可能会被冒用的问题,

但是这种方法存在一个缺点就是,我们需要给网站中的所有请求

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

前端面试题 文章被收录于专栏

前端面试的一些常问问题、问题的具体实现(可直接运行)以及底层原理

全部评论

相关推荐

一颗宏心:华为HR晚上过了十二点后还给我法消息。
点赞 评论 收藏
分享
斑驳不同:还为啥暴躁 假的不骂你骂谁啊
点赞 评论 收藏
分享
评论
点赞
7
分享
牛客网
牛客企业服务