gpt4 book ai didi

python - CSP 不接受内联脚本哈希或随机数

转载 作者:行者123 更新时间:2023-12-03 20:55:20 29 4
gpt4 key购买 nike

我正在开发一个 Flask 应用程序,它使用 Flask-Talisman 来合并一个 CSP。我想在我的模板之一中创建一个内联脚本,而不是将“unsafe-inline”添加到 CSP 的“script-src”数组中,这可能对 XSS 攻击有潜在危害,我想使用哈希或nonce 允许脚本。我在 Opera 上的开发工具中复制了控制台错误消息中给出的哈希值,并将其放置在 CSP 的“script-src”数组中(在 init .py 文件中)。但是,由于某种原因,CSP 不会接受散列,我不知道如何修复它。我也用随机数尝试过这个,但发生了同样的问题。这是控制台输出(出于安全原因,我删除了哈希):

The source list for Content Security Policy directive 'script-src' contains an invalid source: 'sha256-(hash goes here)'. 
It will be ignored.

这是我在 中的 CSP初始化 .py:
csp = {
"default-src": [
"'self'",
'https://www.youtube.com',
'https://img.youtube.com'
],
'script-src': [ 'sha256-(hash goes here)',
'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js',
'https://code.jquery.com/jquery-3.3.1.slim.min.js',
'https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js'],
'style-src': ["'self'",'https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css']
}

最佳答案

A hash和一个 nonce需要用引号引起来,所以你应该替换它:

'script-src': [ 'sha256-(hash goes here)',
有了这个:
'script-src': [ "'sha256-(hash goes here)'",
类似于您如何包含 'self' .
还要注意 flask 护身符有 nonce支持内置,所以不需要手动指定。它会自动添加。请参阅此示例: https://github.com/GoogleCloudPlatform/flask-talisman#example-6

关于python - CSP 不接受内联脚本哈希或随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61085890/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com