仅对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 Rest DSL路由无法启动路由,因为同一端点不允许有多个使用者   jvm有没有像JConsole或VisualVM这样的工具可以告诉我“类、对象、引用变量在java中存储在哪里?”   java为什么我的列表中的所有元素看起来都一样?   java运行时。运行shell脚本的exec无法打开文件   JPopupMenu的JMenuItem的java热键   会话在Java中被覆盖   如何在java中去除字符串中的尖锐重音?   java Mockito监视一个接口,模拟它的默认方法,获取NullPointerException   javascript如何在jquery中禁用同一时间选择   将数组列表附加到现有CSV文件,但它会附加并清除存储在Java文件中的以前的数据   java从我的jar中访问pdf文件   java Sonar issue参数必须为非Null,但标记为可为Null   java Salesforce流式API:在网络故障之后和重新订阅之前获取事件   在Java 1.8.0_65上运行Play2.0应用程序时出现playframework错误   java为什么字母的ASCII由方法自动转换。toCharArray()?   java如何知道JDialog是否关闭?   java向服务器发送POST请求,服务器的响应为null,启动   java如何设置JTable中特定单元格的值?   ImagePlus中的java保存问题