Angular应用程序的内容安全策略[关闭]

问题描述 投票:0回答:2

我们有一个使用Nginx作为Web服务器的Angular应用程序。我们计划将Angular UI的内容安全策略并入。我了解CSP策略可以应用于Angular应用程序的元标记(Index.html)中,也可以从HTTP响应标头的Nginx Web服务器中应用。

但是对于Angular UI Application,这是最好的方法。我更喜欢放入Angular Index.html的元标记,而不是放入Nginx Web服务器的HTTP响应标头。

哪个是正确的,最值得推荐。 ?

angular user-interface content-security-policy websecurity
2个回答
0
投票

它们各有利弊。取决于您的情况。

索引专家:应用程序更便携。所有应用程序代码都放在一个地方。可以更轻松地更改服务器环境。对外部事物的依赖性降低。服务器做得更少,性能更好/更简单。

索引缺点:如果您具有环境特定的URL,则需要更复杂的构建过程

服务器的优缺点几乎相反。

我通常喜欢使用静态文件服务器,因为它们在此任务中表现最佳,并且最简单/最便宜,因此我将使用index.html方法。两者都可以完成工作,索引将需要更多的开销,但是对于长期运行的IMO来说可能是更好的方法。


0
投票

在这里查看这篇非常好的文章。 https://blog.sidstamm.com/2009/06/csp-with-or-without-meta.html?m=1

基本上由于以下原因,它偏爱标题:

使用元标记实施CSP变得相当复杂。首先,当存在两种相互冲突的策略时(一种在HTTP中,一种在meta中),用户代理必须弄清楚该怎么做。我们使用只能加强有效政策的交叉算法解决了这一问题。除了冲突之外,还存在在请求任何受CSP约束的资源之前适当地从文档中解析元标记的问题。

允许在元标记中指定策略规范也为成功的内容注入攻击提供了另一种用途:注入未经授​​权的策略。此外,可以通过policy-uri或report-uri指令将此类策略用于对站点本身进行有限CSRF攻击。当然,未经授权的“不允许”策略也可以有效地对站点进行DoS。

对我来说,使用标头的专业知识总结如下

这种分离有一个明显的优势:更难攻击。现在,对手必须能够突破协议级别,而不仅仅是应用程序/内容。 HTTP标头比HTML标记更容易在服务器端进行加固。

© www.soinside.com 2019 - 2024. All rights reserved.