csrf
描述#
Local / session storage 不会跨域工作,请使用一个标记 cookie:基于浏览器的同源策略,
CSRF利用用户正常登录产生的cookie,利用钓鱼网站传给用户发送一张有内容的表单,并携带用户的正常cookies访问网站,达到将伪造的表单通过用户之手传到网站上的目的。为了避免用户提交其他网站生成的表单,网站在用户登录时签发给用户一个csrftoken,该token不存放在cookie中(存放在浏览器的local storage中),由网站前端js调用(识别{{form.field_name}}
),在提交表单时需要携带该token从而验证该表单来自于本网站(服务器端的token验证数据存放在session中)。
同源策略:
现在有一个网站:http://www.a.com/a。 https://www.a.com/a :不同源,协议不同,此处协议是https! http://www.b.com/a :不同源,域名不同 http://www.a.com:8080/a :不同源,端口不同 http://www.a.com/b :同源 综上,跨域就是请求路径的url不同源。
Local / session storage 不会跨域工作,请使用一个标记 cookie:基于浏览器的同源策略,
现在有一个网站:http://www.a.com/a。
https://www.a.com/a :不同源,协议不同,此处协议是https!
http://www.b.com/a :不同源,域名不同
http://www.a.com:8080/a :不同源,端口不同
http://www.a.com/b :同源
综上,跨域就是请求路径的url不同源。
鉴权模型设计
django csrf setting 开启:
视图,csrf拦截和auth鉴权设计:
版权声明
本文仅代表作者观点,不代表博信信息网立场。
上一篇:视频网站为什么推荐外国服务器 下一篇:
MySQL索引优化的方法有以下几种