Python web-Django CSRF跨站请求伪造防护( 二 )
3、恶意网站B的自动化请求 , 执行就是在用户A的同一个浏览器上 , 因此在访问网站A的时候 , 浏览器会自动带上网站A的cookies 。
4、所以网站A在接收到请求之后 , 可判断当前用户登录状态 , 所以根据用户的权限做具体的操作逻辑 。
防范措施
1、在指定表单或者请求头的里面添加一个随机值作为参数 。
2、在响应的cookie里面也设置该随机值 。
3、用户正常提交表单的时候会默认带上表单中的随机值 , 浏览器会自动带上cookie里面的随机值 , 那么服务器下次接收到请求之后就可以取出两个值进行校验 。
4、对于网站B来说网站B在提交表单的时候不知道该随机值是什么 , 所以就形成不了攻击 。
Django中CSRF中间件
django在创建项目的时候 , 默认就会有添加中间进行CSRF的保护 , 在MIDDLEWARE可以看到加载了django.middleware.csrf.CsrfViewMiddleware的中间件 , 这里是全局设置 , 也可以局部设置 。
推荐阅读
- Python|阿里达摩院13小时讲完的python!整整466集,拿走不谢
- Python打开和关闭文件
- 用python爬了840款真无线蓝牙耳机数据,竟发现了几个有趣结论!
- 手把手教你使用Python操控手机微信app(最新教程)
- Python编程常用技巧,你全知道么?
- 升职加薪利器:Python+Pytest框架在Jenkins上生成Allure测试报告
- 编程零基础应当如何开始学习 Python?
- 女神照片当背景,使用Python做个免费的VIP视频播放软件
- 单身情人节,看看这位Python小哥如何完成人生的逆袭!
- 情人节来了,教你个用 Python 表白的技巧