帮助保护django项目的工具集合。
django-security-knaperek的Python项目详细描述
#Django安全
[![构建状态](https://travis-ci.org/sdelements/django-security.svg?branch=master)](https://travis ci.org/sdelements/django security)
`可在阅读文档时获得:
*[django security documentation](http://django security.read the docs.org/en/latest/)
从github上的
[django security]存储库(https://github.com/sdelements/django-security)安装:
cd django security
sudo python setup.py install
adding to django application'settings.py`文件:
installed_apps=(
…
‘security’,
…
)
中间件模块可以添加到设置文件:
中间件类=(
…
‘security.middleware.donottrackmiddleware’,
"security.middleware.contentnosniff",
"security.middleware.xssprotectmiddleware",
"security.middleware.xframeoptionsmidleware",
与上面列出的模块不同,其他一些模块**需要**配置设置,
在[django安全文档](http://django security.readthedocs.org/en/latest/)中有详细描述。
下面提供了简要描述。
最低配置。
<;table>;
<;tr>;
<;th>;中间件
<;th>;说明
<;th>;配置
<;tr>;
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/\security.middleware.contentnosniff">;contentnosniff<;/a>;
<;td>;禁用浏览器中可能不安全的mime类型自动检测。<;em>;推荐使用。<;em>;
<;td>;无。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/\security.middleware.contentsecuritypolicymiddleware">;contentsecuritypolicymiddleware<;/a>;
<;td>;在HTTP响应中发送内容安全策略(CSP)头。<;em>;推荐,<;em>;需要仔细调整。
<;td>;必需。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/\security.middleware.donottrackmiddleware">;donottrackmiddleware<;&a>;
<;td>;阅读用户浏览器的donottrack首选项并将其传递给应用程序。<;em>;推荐,<;/em>;需要在视图和模板中实现。
<;td>;无。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/\security.middleware.loginRequiredMiddleware">;loginRequiredMiddleware<;/a>;
<;td>;需要经过身份验证的用户才能查看网站上未列入白名单的任何页面。
<;td>;必需。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/\security.middleware.mandatorypasswordchangemddleware">;MandatoryPasswordChangeMiddleware<;a>;
<;td>;如果已验证用户的密码已过期,则将该用户的任何请求重定向到密码更改表单。
<;td>;必需。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/security.middleware.noconfidentialcachingmiddleware">;noconfidentialcachingmiddleware<;/a>;
<;td>;不向机密页添加缓存和存储头。
<;td>;必需。
<;tr>;
<;td>; <;td>;添加指定压缩p3p策略的http头属性。
<;td>;必需。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/security.middleware.sessionexpirypolicymiddleware">;sessionexpirypolicymiddleware<;/a>;
<;td>;在关闭浏览器时和存储在cookie本身中的过期时间时终止会话。
<;td>;必需。
<;tr;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/security.middleware.stricttransportsecuritymiddleware">;stricttransportsecuritymiddleware<;&a>;
<;td>;强制SSL/TLS连接并禁用明文回滚。<;em>;推荐用于SSL/TLS站点。
<;td>;可选。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/\security.middleware.xframeoptionsmidleware">;xframeoptionsmidleware<;&a>;
<;td>;禁用网站框架,减轻点击劫持攻击。<;em>;推荐。<;em>;
<;td>;可选。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/security.middleware.xssprotectmiddleware">;xssprotectmiddleware<;/a>;
<;td>;实施浏览器的跨站点脚本保护。<;em>;推荐使用。<;em>;
<;td>;无。
<;表>;
\views
`csp\u report`
允许接收浏览器发送的内容安全策略冲突报告的视图,以响应
由"contentsecuritypolicymiddleware"设置的csp头。只有当需要长期、连续的CSP报告
分析时,才应使用此方法。一次csp设置[cspbuilder](http://cspbuilder.info/)要简单得多。
可以将此视图配置为记录接收到的报告或将其存储在数据库中。
请参阅[文档](http://django security.readthedocs.org/en/latest/\security.views.csp\u report)了解详细信息。
`需要ajax`
一个视图装饰器,确保视图处理的请求是ajax请求。示例用法:
@需要ajax
def myview(请求):
…
\models
`cspreport`
只有在使用"contentsecuritypolicymiddleware"和"csp_report"视图时才有意义。
对于此模型,然后可以在django管理站点中分析这些报告。
`password expiry`
将密码到期日期与用户关联。
应用程序应该配置一个处理程序来接收它们:
logging={
…
‘loggers’:{
‘security’:{
‘handlers’:[‘console’,],
‘level’:‘info’,
‘propagate’:false,
'格式化程序':'详细',
},
…
[![构建状态](https://travis-ci.org/sdelements/django-security.svg?branch=master)](https://travis ci.org/sdelements/django security)
`可在阅读文档时获得:
*[django security documentation](http://django security.read the docs.org/en/latest/)
从github上的
[django security]存储库(https://github.com/sdelements/django-security)安装:
sudo python setup.py install
adding to django application'settings.py`文件:
installed_apps=(
…
‘security’,
…
)
中间件模块可以添加到设置文件:
中间件类=(
…
‘security.middleware.donottrackmiddleware’,
"security.middleware.contentnosniff",
"security.middleware.xssprotectmiddleware",
"security.middleware.xframeoptionsmidleware",
与上面列出的模块不同,其他一些模块**需要**配置设置,
在[django安全文档](http://django security.readthedocs.org/en/latest/)中有详细描述。
下面提供了简要描述。
最低配置。
<;table>;
<;tr>;
<;th>;中间件
<;th>;说明
<;th>;配置
<;tr>;
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/\security.middleware.contentnosniff">;contentnosniff<;/a>;
<;td>;禁用浏览器中可能不安全的mime类型自动检测。<;em>;推荐使用。<;em>;
<;td>;无。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/\security.middleware.contentsecuritypolicymiddleware">;contentsecuritypolicymiddleware<;/a>;
<;td>;在HTTP响应中发送内容安全策略(CSP)头。<;em>;推荐,<;em>;需要仔细调整。
<;td>;必需。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/\security.middleware.donottrackmiddleware">;donottrackmiddleware<;&a>;
<;td>;阅读用户浏览器的donottrack首选项并将其传递给应用程序。<;em>;推荐,<;/em>;需要在视图和模板中实现。
<;td>;无。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/\security.middleware.loginRequiredMiddleware">;loginRequiredMiddleware<;/a>;
<;td>;需要经过身份验证的用户才能查看网站上未列入白名单的任何页面。
<;td>;必需。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/\security.middleware.mandatorypasswordchangemddleware">;MandatoryPasswordChangeMiddleware<;a>;
<;td>;如果已验证用户的密码已过期,则将该用户的任何请求重定向到密码更改表单。
<;td>;必需。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/security.middleware.noconfidentialcachingmiddleware">;noconfidentialcachingmiddleware<;/a>;
<;td>;不向机密页添加缓存和存储头。
<;td>;必需。
<;tr>;
<;td>;
<;td>;必需。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/security.middleware.sessionexpirypolicymiddleware">;sessionexpirypolicymiddleware<;/a>;
<;td>;在关闭浏览器时和存储在cookie本身中的过期时间时终止会话。
<;td>;必需。
<;tr;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/security.middleware.stricttransportsecuritymiddleware">;stricttransportsecuritymiddleware<;&a>;
<;td>;强制SSL/TLS连接并禁用明文回滚。<;em>;推荐用于SSL/TLS站点。
<;td>;可选。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/\security.middleware.xframeoptionsmidleware">;xframeoptionsmidleware<;&a>;
<;td>;禁用网站框架,减轻点击劫持攻击。<;em>;推荐。<;em>;
<;td>;可选。
<;tr>;
<;td>;<;a href="http://django security.readthedocs.org/en/latest/security.middleware.xssprotectmiddleware">;xssprotectmiddleware<;/a>;
<;td>;实施浏览器的跨站点脚本保护。<;em>;推荐使用。<;em>;
<;td>;无。
<;表>;
\views
`csp\u report`
允许接收浏览器发送的内容安全策略冲突报告的视图,以响应
由"contentsecuritypolicymiddleware"设置的csp头。只有当需要长期、连续的CSP报告
分析时,才应使用此方法。一次csp设置[cspbuilder](http://cspbuilder.info/)要简单得多。
可以将此视图配置为记录接收到的报告或将其存储在数据库中。
请参阅[文档](http://django security.readthedocs.org/en/latest/\security.views.csp\u report)了解详细信息。
`需要ajax`
一个视图装饰器,确保视图处理的请求是ajax请求。示例用法:
@需要ajax
def myview(请求):
…
\models
`cspreport`
只有在使用"contentsecuritypolicymiddleware"和"csp_report"视图时才有意义。
对于此模型,然后可以在django管理站点中分析这些报告。
`password expiry`
将密码到期日期与用户关联。
应用程序应该配置一个处理程序来接收它们:
logging={
…
‘loggers’:{
‘security’:{
‘handlers’:[‘console’,],
‘level’:‘info’,
‘propagate’:false,
'格式化程序':'详细',
},
…