上一篇:Django之模板HTML相关【交互篇三】点击跳转
目录篇:Django之前后端交互篇目录 点击跳转
下一篇:Django之Ajax【交互篇五】点击跳转
目录
CSRF
CSRF原理:安全验证机制(跨域请求保护)
列子:假如A某在自己的电脑登录了一个招商银行的网站
1.我们再去点招商银行该网站的其他页面,是不需要继续登录的
2.服务端和客户端是一个短连接,也就是客户端发送请求以后,服务端回复了以后链接就断开了。可以这样理解,客户端发送了请求,服务端返回了数据,然后我们看到数据的时候,其实内部已经和服务器断开了,相当于客户端在服务端下载了数据,然后在自己的浏览器进行模板渲染。
3.然后我们再次点击渲染数据内的链接,那么等于重新发起一个请求,那么问题来了请问服务器是如何确定还是A某点击的?
解决这个问题,就是A某登录的时候,服务端生成一个session id,然后把session id返回给了客户端,客户端在把session id存到浏览器cookie里面去,每次A某的浏览器访问的时候其实已经发送了这个session id给服务端了,所以服务端能确认是A某,就无需A某在登录
4.此刻A某登录另外一个AV网站,该AV网站也有自身的session id 放到了A某浏览器的cookie里面 和招商网站的session id放在A某的cookie里的没任何关系。可以这样比喻:AV网站在客户端的浏览器创建了文件然后把session id放入这个文件,招商银行的同理,所以是两个网站的cookie是没关系的,