跳转到主要内容

实用工具和“linter”,帮助您使Django站点更加安全。

项目描述

帮助您记住做那些愚蠢的小事情来提高Django站点的安全性。

受Mozilla的安全编码指南的启发,并适用于完全或主要通过SSL提供服务的站点(应包括任何带有用户登录的站点)。

快速入门

依赖关系

与Django 1.4通过trunk和Python 2.6、2.7、3.2和3.3进行测试。很可能与两者的旧版本也兼容;它并不复杂。

安装

使用pip从PyPI安装

pip install django-secure

或获取开发版本

pip install django-secure==dev

用法

  • "djangosecure"添加到您的INSTALLED_APPS设置。

  • "djangosecure.middleware.SecurityMiddleware"添加到您的MIDDLEWARE_CLASSES设置(位置取决于您的其他中间件,但列表的开头可能是一个不错的选择)。

  • SECURE_SSL_REDIRECT设置设置为True,如果应将所有非SSL请求永久重定向到SSL。

  • SECURE_HSTS_SECONDS 设置为一个整数秒数,并将 SECURE_HSTS_INCLUDE_SUBDOMAINS 设置为 True,如果您想使用 HTTP 严格传输安全

  • SECURE_FRAME_DENY 设置为 True,如果您想防止您的页面被框架化,并保护它们免受 点击劫持

  • SECURE_CONTENT_TYPE_NOSNIFF 设置为 True,如果您想防止浏览器猜测资源内容类型。

  • SECURE_BROWSER_XSS_FILTER 设置为 True,如果您想启用浏览器的 XSS 过滤保护。

  • 如果您正在使用 django.contrib.sessions,请将 SESSION_COOKIE_SECURESESSION_COOKIE_HTTPONLY 设置为 True。这些设置不是 django-secure 的一部分,但如果运行的是安全站点,则应该使用这些设置,并且 checksecure 管理命令将检查它们的值。

  • 请确保您使用的是一个长、随机且唯一的 SECRET_KEY

  • 运行 python manage.py checksecure 以验证您的设置是否已正确配置以提供安全的 SSL 站点。

文档

有关更多详细信息,请参阅 完整文档

变更记录

1.0.2 (2020.03.31)

  • 此项目已合并到 Django 1.8,其功能现在是 Django 核心的一部分。因此,它不再维护,您不应使用它。

1.0.1 (2014.10.23)

  • 将 django-secure 测试从 pre-1.6 Django 测试运行器中隐藏,以避免破坏项目测试。

1.0 (2013.04.17)

  • 向后不兼容:已删除对 Python 2.5、Django 1.2 和 Django 1.3 的测试支持。

  • 添加了对 Python 3 的支持和测试(尽管所有非测试代码在先前都已在 Python 3 下正常工作。)

0.1.3 (2013.04.17)

  • 添加了对 SECRET_KEY 的检查。感谢 Ram Rachum。

0.1.2 (2012.04.13)

  • 添加了 SECURE_HSTS_INCLUDE_SUBDOMAINS 设置。感谢 Paul McMillan 的报告和 Donald Stufft 的补丁。修复了 #13。

  • 添加了 X-XSS-Protection: 1; mode=block 标头。感谢 Johannas Heller。

0.1.1 (2011.11.23)

  • 添加了 X-Content-Type-Options: nosniff 标头。感谢 Johannas Heller。

  • SECURE_PROXY_SSL_HEADER 设置现在修补 request.is_secure() 以尊重代理 SSL,以避免将应重定向到 https 的请求重定向到 http。

0.1.0 (2011.05.29)

  • 初始版本。

待办事项

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

django-secure-1.0.2.tar.gz (26.1 kB 查看散列)

上传于