仅对HTML表单启用CSRF保护

django-csrf-protect-form的Python项目详细描述


https://img.shields.io/pypi/v/django-csrf-protect-form.svghttps://travis-ci.org/dex4er/django-csrf-protect-form.svg?branch=masterhttps://readthedocs.org/projects/django-csrf-protect-form/badge/?version=latesthttps://img.shields.io/pypi/pyversions/django-csrf-protect-form.svghttps://img.shields.io/pypi/djversions/django-csrf-protect-form.svg

Django CSRF保护表

django框架中的csrf中间件和模板标记提供了易用性 防止跨站点请求伪造。这个保护者有一些 XHR POST请求的不便之处。

当内容类型为 请求如下:

  • 应用程序/x-www-form-urlencoded
  • 多部分/窗体数据
  • 文本/纯文本

从csrf保护中排除xhr请求通常是安全的,因为xhr 请求只能来自同一来源。检查你的cors配置 在使用本模块之前。使用django-cors-headers模块保护站点 穿着紧身衣。

安装

安装时使用pippipenv

pipinstalldjango-csrf-protect-form

配置

您可以设置启用CSRF保护的内容类型列表。这个 默认值为:

CSRF_PROTECT_FORM_CONTENT_TYPE=['application/x-www-form-urlencoded','multipart/form-data','text/plain',]

使用量

views.py

fromdjango_csrf_protect_formimportcsrf_protect_form@csrf_protect_formdefhello(request):returnHttpResponse("<html><head></head><body>Hello, world!</body></html>")

或:

urls.py

fromdjango_csrf_protect_formimportcsrf_protect_formfrom.viewsimporthellourlpatterns=[url('hello/',csrf_protect_form(hello)),]

许可证

版权所有©2019,Piotr Roszatycki

该软件在GNU Lesser General Public License(LGPL)下分发 3或更大)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是否在servlet中检索上一页路径?   Java抱怨在开关的默认情况下未初始化最终字段   Java泛型:为什么编译器不能判断这个类<t>对象与这个类的类型参数的对象的类具有相同的类型?   Java:继承方法中使用的私有变量   HibernateJava。ClassCastException:java。lang.Integer不能强制转换为abc。def。我的项目。奥姆。EmployeeTopMetaData   http java发布和下载文件   java改进条件检查   java如何将2d数组的条目作为键放在地图中   java如何获取传递给运行时的值。getRuntime。JUnit测试用例中的exit(value)   java注释来创建所有可能的构造函数   自动建议列表:java。lang.IllegalArgumentException:在XPath表达式为null时找不到元素   为什么MapAPI在Java中不提供流功能?   gradle不导入本地java库   尽管我使用的是SessionCreationPolicy,java Spring安全性似乎仍在使用会话。无国籍   使用java查找MongoDB中数组元素的平均值