Python-django 跨站请求伪造保护

2021-03-13 19:41

阅读:709

标签:自动生成   浏览器   保护   表单提交   伪造   原因   djang   orm   django   

csrf_token

csrf_token 用于form表单中,作用是跨站请求伪造保护。

如果不用{% csrf_token %}标签,在用 form 表单时,要再次跳转页面会报403权限错误。

用了{% csrf_token %}标签,在 form 表单提交数据时,才会成功。

解析:

首先,向浏览器发送请求,获取登录页面,此时中间件 csrf 会自动生成一个隐藏input标签,该标签里的 value 属性的值是一个随机的字符串,用户获取到登录页面的同时也获取到了这个隐藏的input标签。

然后,等用户需要用到form表单提交数据的时候,会携带这个 input 标签一起提交给中间件 csrf,原因是 form 表单提交数据时,会包括所有的 input 标签,中间件 csrf 接收到数据时,会判断,这个随机字符串是不是第一次它发给用户的那个,如果是,则数据提交成功,如果不是,则返回403权限错误。

Python-django 跨站请求伪造保护

标签:自动生成   浏览器   保护   表单提交   伪造   原因   djang   orm   django   

原文地址:https://www.cnblogs.com/zhutongtong/p/14051551.html


评论


亲,登录后才可以留言!