托多
django-referer-csrf的Python项目详细描述
django_推荐人
该项目有两个目标:
- 简化django的CSRF保护,这样开发者就不需要担心令牌了
- 使视图代码更容易动态调用CSRF保护
不需要代币
https://security.stackexchange.com/a/197269
在https站点上,django的csrf保护要求请求的referer头与请求的主机头相匹配。此检查使整个CSRF令牌冗余。令牌检查在referer检查之上没有提供额外的安全性。在
Django跳过了非https站点上的referer检查,这在一定程度上是有利的(这意味着配置web浏览器而不提交referer头的用户仍然可以提交表单)。在
我们的验证器实际上在寻找有效的origin头或referer头。现代浏览器遵循(newish)规范,即发送除head/get以外的每个请求的原始标头。这意味着如果用户禁用了referer头,他们仍然可以通过我们的CSRF检查。在
使用
pip install django_referer_csrf
- 在
MIDDLEWARE
设置中,将django.middleware.csrf.CsrfViewMiddleware
替换为django_referer_csrf.Middleware
有了这个中间件,您仍然可以使用Djangos的csrf_-exempt装饰器。在
如果你想在动态代码的基础上查看csf保护的话中间件.process\u视图()做了复制。在
- 项目
标签: