Python web-Django CSRF跨站请求伪造防护( 三 )
全局保护:直接启用中间件就可以了 。
局部保护:from django.views.decorators.csrf import csrf_exemptcsrf_protect , 使用装饰器进行验证 。 csrf_protect:为当前函数强制设置防跨站请求伪造功能 , 即便settings中没有设置全局中间件;csrf_exempt:取消当前函数防跨站请求伪造功能 , 即便settings中设置了全局中间件 。
验证
在POST请求提交数据的时候 , django会去检查是否有一个csrf的随机字符串 , 如果没有就会返回403没有权限访问 。
表单验证
在form表单里面需要添加{%csrf_token% , Django会自动渲染隐藏的input输入框:
<input type="hidden" name="csrfmiddlewaretoken" value=https://mparticle.uc.cn/api/"2Sb0DQwDVgOQ8i3n1BaG1MUPLEYr6ZGaCLYa14maOQM0Ami5ddQOR6hfXuD2mrmA">
在表单提交的时候 , 中间件会验证csrfmiddlewaretoken 。
通过ajax提交
推荐阅读
- Python|阿里达摩院13小时讲完的python!整整466集,拿走不谢
- Python打开和关闭文件
- 用python爬了840款真无线蓝牙耳机数据,竟发现了几个有趣结论!
- 手把手教你使用Python操控手机微信app(最新教程)
- Python编程常用技巧,你全知道么?
- 升职加薪利器:Python+Pytest框架在Jenkins上生成Allure测试报告
- 编程零基础应当如何开始学习 Python?
- 女神照片当背景,使用Python做个免费的VIP视频播放软件
- 单身情人节,看看这位Python小哥如何完成人生的逆袭!
- 情人节来了,教你个用 Python 表白的技巧