CSP:为什么将“ none”和“ unsafe-inline”解释为主机名?

问题描述

我对CSP还是很陌生,我想在Flask网站上使用Talisman ...并带有Adobe Fonts,这似乎与CSP无关。也就是说,该网站可以正常工作,可以加载Adobe字体,等等。

但是,Web控制台显示以下消息:

Content Security Policy: Interpreting unsafe-inline as a hostname,not a keyword. If you intended this to be a keyword,use ‘unsafe-inline’ (wrapped in single quotes).
Content Security Policy: Interpreting none as a hostname,use ‘none’ (wrapped in single quotes).

我的CSP看起来像这样:

SELF = "'self'"

csp = {
    'default-src': SELF,'script-src': [
        SELF,'use.typekit.net','cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js',],'style-src': [SELF,'unsafe-inline','use.typekit.net'],'font-src': [SELF,'img-src': [SELF,'p.typekit.net'],'object-src': 'none',}

app = Flask(__name__)
talisman = Talisman(app,content_security_policy=csp)

就像我说的那样,它有效,但是这些错误令人不安。我已经尝试过使用单引号,双引号,无引号的每种组合……没有任何效果。任何帮助将不胜感激!

解决方法

an example on the project home page

csp = {
    'default-src': [
        '\'self\'','*.trusted.com'
    ]
}

none可以用相同的方式添加。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...