如何防御 CSRF 攻击?

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

1.进行同源检测,

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

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

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

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

2.使用 CSRF Token 进行验证,

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

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

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

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

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

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

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

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

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 15:37
点赞 评论 收藏
分享
认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的开发你这个也没有项目啊
点赞 评论 收藏
分享
评论
点赞
7
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务