有没有办法让Primefaces向多个CSP指令添加NONCE
我使用的是Primefaces 8.0.7。我的代码使用p:ajaxStatus:有没有办法让Primefaces向多个CSP指令添加NONCE,primefaces,content-security-policy,Primefaces,Content Security Policy,我使用的是Primefaces 8.0.7。我的代码使用p:ajaxStatus: <p:ajaxStatus class="25pix"> <f:facet name="start"> <p:graphicImage value="images/ajaxloadingbar.gif" /> </f:facet> <f:facet name="compl
<p:ajaxStatus class="25pix">
<f:facet name="start">
<p:graphicImage value="images/ajaxloadingbar.gif" />
</f:facet>
<f:facet name="complete">
<h:outputText value="" />
</f:facet>
</p:ajaxStatus>
但是,在运行时,f:facet元素以内联样式结束:
<td>
<div id="j_idt26" class="25pix">
<div id="j_idt26_start" style="display:none">
<img id="j_idt27" src="images/ajaxloadingbar.gif?pfdrid_c=true" alt="" />
</div>
<div id="j_idt26_complete" style="display:none"></div>
</div>
...
...
我的web.xml中的CSP策略为:
<context-param>
<param-name>primefaces.CSP_POLICY</param-name>
<param-value>style-src 'self';img-src 'self';connect-src 'self';frame-src 'self';font-src 'self';media-src 'self';object-src 'self';manifest-src 'self';form-action 'self';frame
-ancestors 'self';script-src 'self'</param-value>
</context-param>
primefaces.CSP_策略
样式src‘self’;img src“自我”;连接src“self”;框架src“自我”;字体src“self”;媒体src“自我”;对象src“self”;显示src“自我”;形成行动“自我”;框架
-祖先的“自我”;脚本src'self'
我知道Primefaces会将nonce插入到策略的末尾,但这只会处理脚本src。有没有办法让它也在样式src上插入nonce?或者有没有一种方法可以让f:facet不使用内联样式
谢谢。PrimeFaces仅支持CSP中的
script src
,不支持所有CSP选项。但是,由于JS代码最容易受到CSP各个方面的攻击,因此它应该保护您。PrimeFaces大量使用内联样式,这就是它目前仅支持JS的原因。我们的OWASP ZAP扫描将此视为中等风险。是否有可能在未来的Primefaces版本中添加样式src保护?需要对Primefaces进行大规模重构才能从所有组件中删除所有内联样式,因此我对此表示怀疑。我会说你的笔测试仪有没有尝试利用CSS漏洞?因为据我所知,如果没有JS代码,他们无法利用内联CSS,而且由于我们的JS受到保护,CSS很难/不可能被利用?