Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 这种应用内容安全策略的方法可以吗?_Html_Angularjs_Security_Xss_Content Security Policy - Fatal编程技术网

Html 这种应用内容安全策略的方法可以吗?

Html 这种应用内容安全策略的方法可以吗?,html,angularjs,security,xss,content-security-policy,Html,Angularjs,Security,Xss,Content Security Policy,我正在尝试将CSP添加到我的web应用程序中,我在我的索引页中添加了以下元标记: <meta http-equiv="Content-Security-Policy" content="img-src 'self' data:;default-src *;style-src 'self' http://* 'unsafe-inline';script-src 'self' http://* 'unsafe-inline' 'unsafe-eval';" /> 以及IIS上的以下

我正在尝试将CSP添加到我的web应用程序中,我在我的索引页中添加了以下元标记:

<meta http-equiv="Content-Security-Policy" content="img-src 'self' data:;default-src *;style-src 'self' http://* 'unsafe-inline';script-src 'self' http://* 'unsafe-inline' 'unsafe-eval';" />

以及IIS上的以下my web.config文件:

<customHeaders>
     <add name="Content-Security-Policy" value="default-src 'self' 'unsafe-inline' http://*.domain.com;
                                                img-src 'self' http://*.domain.com data:"  />

      </customHeaders>

是否有必要同时添加元标记和附加标题?或者其中一个就足够了

元标记策略是否覆盖自定义标头

这是否意味着我可以编写内联JavaScript并在代码中使用
eval
函数?此规则是否覆盖由标头设置的策略?(因为据我所知,在标题中我禁止使用内联JavaScript和
eval
函数)

我的最后一个问题是,如果我使用这些设置,我应该在html中使用
ng csp
还是它的其他变体
ng csp=“no safe eval”

是否有必要同时添加元标记和附加标题?或者其中一个就足够了

一个就够了。如果您可以让服务器在响应头中发送策略,那就更好了。您也不需要在
meta
元素中指定任何内容,这样做没有任何好处

元标记策略是否覆盖自定义标头

只有当
meta
策略更严格时,
meta
策略才会覆盖标头策略。看看这个答案:

…其中引用了CSP的一部分,其中说,“向要执行的策略列表中添加其他策略只能进一步限制受保护资源的能力”

这是否意味着我可以编写内联JavaScript并在代码中使用
eval
函数

如果您的头还为
script src
指定了这些值,就可以这样做。但是您的头策略没有。因此,无论在何处指定,浏览器都使用最严格的策略

此规则是否覆盖由标头设置的策略?(因为据我所知,在标题中我禁止使用内联JavaScript和
eval
函数)

不,正如答案所解释的,不能通过在其他地方指定不太严格的策略来覆盖严格的策略


因此,最好在一个标题中的一个位置指定所有策略值(而不是
meta

如果此实现是为了修复Veracode中突出显示的缺陷,而您仍然继续“不安全内联”“不安全评估”将无法解决问题。