内容安全策略(Content Security Policy,边缘保证CSP)是低延网络浏览器中实现的一种安全功能 ,可用于保护网站和Web应用程序免受各种类型的安全攻击,如跨站脚本攻击(XSS)和数据注入攻击
。边缘保证CSP可控制并限制能够在网页上加载或执行的低延不同类型内容的来源
。这些内容类型包括: 延伸阅读
,安全点击链接了解 Akamai API Security 本文将首先介绍CSP的边缘保证工作原理
。我们会展示一些更有效、低延更动态地CSP用法,安全包括在服务器上进行的边缘保证一些计算工作。服务器租用其实我们可以将这些计算转移到边缘
,低延从而降低延迟并确保最佳的安全用户体验。我们还将探讨这种边缘计算解决方案的边缘保证工作原理 。 CSP通常是通过在HTTP响应中添加Content-Security-Policy标头 ,从而在服务器端定义的安全
。这种标头由Web服务器发送给请求网页的用户,其中指定了浏览器在加载和执行页面内容时应遵循的规则。 假设我们使用了Node.js中的Express,源码下载此时可以这样设置CSP标头: 如果使用Python和Flask,那么所用代码如下: 每个CSP标头可以包含多个指令(directive),每个指令包含了与所提供的设置类型相关的值
。这些指令定义了各种类型资源的安全规则
。例如script-src指令规定了允许的样式表来源 。 请看下面的CSP标头: 上述标头中可以看到三个指令,每个指令都有相应的值。 可用指令的列表实际上非常详尽。其他指令还包括
: 在服务器上设置了CSP标头后
,浏览器在加载网页资源时就会执行这些规则
。亿华云 在HTML源代码中,开发人员可以通过内联或引用资源(来自同一源或其他源)来添加元素(如脚本或样式表)
。然后,浏览器将检查CSP标头 ,确保这些资源符合定义的规则。如果CSP不允许某项资源
,浏览器将阻止其包含和执行
。 由于CSP标头是这样定义的 ,因此在对特定网页的所有请求中,它们通常都是一致的云计算。对单个页面的每次请求的详细信息和指令 ,在该页面的每次后续请求中都是相同的 。 这就造成了一个有趣问题:如何处理动态的内联脚本和样式?我们可能希望允许执行特定内联脚本和样式 ,同时又不愿意开放地包含所有内联脚本和样式权限
。 这种情况下可以引入nonce值或哈希值,以确保即使脚本或样式的来源没有在CSP中明确列出
,只要与CSP标头指定的nonce值或哈希值相匹配,香港云服务器就仍然可以执行 。 每次请求时,这些nonce值或哈希值都会发生变化 ,因此它们是唯一的
。所以它们需要在服务器上生成和管理
。虽然需要在服务器上执行 ,但并不一定需要在网站的主服务器上执行
。这就是边缘计算的用武之地 。 边缘计算本质上是一种概念,即某些计算可以设置在网络外缘运行
,在地理位置上更靠近最终用户。从本质上说 ,这是一种分布式计算,可以实现更接近实时的计算速度(哪怕跨跃了互联网),同时还能降低网络延迟。 利用边缘计算 ,我们可以将关注点转移到离最终用户更近的地方
,为CSP标头生成nonce值或哈希值 ,从而减少等待的时间
。 CSP会降低网站速度的一个重要原因是 :标头中的nonce会导致缓存丢失,此时客户的浏览器需要持续访问服务器 ,网站才能正确生成最新标头。为了解决这个问题 ,我们可以在边缘实例中实现动态CSP nonce生成器 。这样既能确保缓存仍然有用
,又能保证安全。 这种方法的优点包括 :
CSP的低延工作原理

边缘计算是什么?