上一篇文章了解了一下CSRF和XSS的区别,那么这次我们来看看怎么防范CSRF吧
首先,从上篇文章我们可以看得出,CSRF攻击是有着限制的,而我们可以使用这个限制来对他做相关的防范
方法1:后端在接收请求的时候验证请求接口的网址,也就是HTTP Referer,因为CSRF攻击是在别的网站利用用户
未过期的session或者是cookie进行模拟请求,那么我们就可以在接受请求处理的时候验证一下是不是在我们自己
的网站发起的请求,如果不是可以驳回,不执行
方法2:使用token,CSRF 攻击之所以能够成功,是因为黑客可以完全伪造用户的请求,该请求中所有的用户验证
信息都是存在于 cookie 中,因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的 cookie 来通过安全验证。
要抵御 CSRF,关键在于在请求中放入黑客所不能伪造的信息,并且该信息不存在于 cookie 之中。可以在 HTTP 请求
中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有 token
或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。
方法二可以参考一下jwt鉴权:https://www.cnblogs.com/junyi-bk/p/12468272.html