Safari 忽略 CSP 随机数
CSP nonce ignored by Safari
所以我为我的网络应用程序实现了 CSP,它在 Chrome 中运行得非常好。执行所有带 nonce
的内联脚本;没有的不执行
但是在 Safari 中,这是我在控制台中看到的消息:
The source list for Content Security Policy directive 'script-src'
contains an invalid source:
''nonce-fbe23fb21d40c38e8df7c0a16357dd3ec4be86ca233cb41206ac5f897cf9a103''.
It will be ignored.
Header:
Content-Security-Policy script-src 'nonce-cb28e5c8a2b833169bb8d1fa686f659fed9b3bf8ea52b86916bcaf20a04b3209' 'self'
None 的内联脚本被执行,即使是带有 nonce 的脚本。
Safari 尚不支持随机数(请打扰您当地的 webkit 代表以支持此功能),但 Firefox 和 Chrome 已经实现了向后兼容的标准行为。即,如果存在随机数,则 'unsafe-inline'
将被忽略。
同时发送 'unsafe-inline'
和您的随机数,您将获得所需的行为。 Safari 会抱怨 "unknown source value" 但它会按预期工作。
所以我为我的网络应用程序实现了 CSP,它在 Chrome 中运行得非常好。执行所有带 nonce
的内联脚本;没有的不执行
但是在 Safari 中,这是我在控制台中看到的消息:
The source list for Content Security Policy directive 'script-src' contains an invalid source: ''nonce-fbe23fb21d40c38e8df7c0a16357dd3ec4be86ca233cb41206ac5f897cf9a103''. It will be ignored.
Header:
Content-Security-Policy script-src 'nonce-cb28e5c8a2b833169bb8d1fa686f659fed9b3bf8ea52b86916bcaf20a04b3209' 'self'
None 的内联脚本被执行,即使是带有 nonce 的脚本。
Safari 尚不支持随机数(请打扰您当地的 webkit 代表以支持此功能),但 Firefox 和 Chrome 已经实现了向后兼容的标准行为。即,如果存在随机数,则 'unsafe-inline'
将被忽略。
同时发送 'unsafe-inline'
和您的随机数,您将获得所需的行为。 Safari 会抱怨 "unknown source value" 但它会按预期工作。