1

不明白我在我的站点http://pcrypt.org/dev/groups.php指定的策略的效果。

header("X-Content-Security-Policy: allow 'self'; img-src *; script-src 'self'; frame-src 'self'; style-src 'self';");

如果我不允许内联脚本,我该如何调用一个函数。在页面中,我尝试从 onload (body onload='initialize()') 调用位于服务器上的 js 文件中的函数,但它会生成此错误(对不起,丹麦语):

Advarsel: CSP: Directive "inline script base restriction" violated
Kildefil: http://pcrypt.dk/dev/groups.php
Linje: 0
Kildekode:
onload attribute on UNKNOWN element

"options inline-script;"添加后工作正常

也喜欢initialize()在 DOM 准备好时调用,而不是等待图像加载,但是如何在 CSP 到位的情况下执行此操作?

还认为我需要"img-src *;",但根本没有显示图像。图像位于同一台服务器上?

请帮我理解。

4

1 回答 1

2

好的,现在我想我明白了;-)

img-src '自我'; 现在按预期工作 - 认为我错过了''

当 CSP 到位时,不可能在 HTML 部分调用任何类型的函数。我必须在 javascript 代码中分配 onclick 事件处理程序等。我相信可以从 HTML 部分调用 JS 函数——事实并非如此。

实际上支持 CSP 需要做很多工作!

于 2011-12-12T20:58:24.147 回答