对django中内容安全策略的nonce支持。

django-csp-nonce的Python项目详细描述


Build Status

dcn是一个内容安全策略nonce注入支持系统,用于 Django和CSP。

它提供即时创建和部署。一次 安装后,DCN将生成唯一的nonce
对于每个请求(一个用于script-src,另一个用于 style-src指令)将nonce附加到
csp头,然后通过 django上下文处理器。
dcn不受Django-CSP的影响,可以运行
独立于通过的任何csp插入方法 django中间件。

披露

  • 此代码尚未通过第三方安全审核。
  • 我已经用pypy-5.4.1在本地成功地测试了这个。土传病 已经确认这不适用于他们的版本。

安装

pip install django-csp-nonce

将dcn添加到MIDDLEWARE_CLASSES

MIDDLEWARE_CLASSES=([...]'csp_nonce.middleware.CSPNonceMiddleware',# Make sure you put it *above* django-csp if you're using it[...])

将dcn添加到context_processors

TEMPLATES=[{'BACKEND':'django.template.backends.django.DjangoTemplates','DIRS':[...],'APP_DIRS':True,'OPTIONS':{'context_processors':['csp_nonce.context_processors.nonce',[...]],},},]

最后,将dcn指令添加到设置:

CSP_NONCE_SCRIPT=False# True if you want to use itCSP_NONCE_STYLE=False# True if you want to use itCSP_FLAG_STRICT=False# True to include strict-dynamic in CSP

用法

DCN替你照顾这一代人。当你工作的时候 在模板上,从上下文中拉入特定的nonce:

<script type="text/javascript" {{script_nonce}}>
...
</script>

<style {{style_nonce}}>
...
</style>

依赖关系

  • Django

已知问题

  • settings.DEBUG=True
  • 上的即时同步中断

重要更改

  • 1.0
    • 超出测试版!
    • pynacl不再是依赖关系。(向前推进的目的是 与google app engine等环境保持兼容 不支持非python扩展。)

运行测试

使用tox对多个版本的python运行测试 您已经安装了django的多个版本。请确保 至少对Python2.7和Python3.5运行测试。

virtualenv venv
. ./venv/bin/activate

pip install tox

tox

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

推荐PyPI第三方库


热门话题
java我可以在签入Eclipse的TFS插件之前强制代码检查吗?   java Android ArrayIndexOutOfBoundsException错误   java MongoCursorNotFoundException查询失败,错误代码为5   尝试播放音频文件时出现java JLayer异常   java将字节数组中的Excel文件转换为字节数组中的PDF文件   java如何使用递归和一个参数在数组中找到最小值?   java组织。xml。萨克斯。SAXParseException;找不到元素“beans:beans”的声明   java自定义ArrayAdapter仅显示最后的信息   java异常启动筛选器struts2无法加载配置。文档根元素“package”,必须与DOCTYPE root“struts”匹配   mysql java。sql。SQLException:字段“Cust_LastName”没有默认值   java重写迭代变量的toString()   jvm找不到太阳。工具。爪哇。*在编译openjdk7时   mysql使用prepareStatement jdbc java创建任意表名   在处理目录和文件时处理IO异常的java最佳实践?   if语句if-else仅在java中执行else   java如何获取/触发复选框的Jquery在页面加载后自行执行   java在安装Hudson时出错?   java pmd:UseConcurrentHashMap不工作?