关于csp:Content-Security-Policy-学习笔记之三CSP-指令的使用方式

46次阅读

共计 1318 个字符,预计需要花费 4 分钟才能阅读完成。

HTTP 平安标头是网站平安的重要组成部分。它们爱护店面免受潜在攻打,例如 XSS、代码注入、点击劫持等。

Owasp 很好地概述了能够利用的各种标头。

HTTP Strict-Transport-Security

HSTS 平安标头强制 Web 浏览器仅通过 https 拜访店面。这能够避免潜在的协定降级和 cookie 劫持。

这是一个十分根本的标头,应该默认利用于 Storefront 应用程序。

以下片段显示了一个示例标头配置:

Strict-Transport-Security: max-age=31536000 ; includeSubDomains

X-Frame-Options

X-Frame-Options 标头可用于避免将 Spartacus 加载到另一个起源的 iframe 中,这是加重点击劫持的罕用办法。点击劫持是一种歹意技术,它诱使用户点击与用户感知不同的内容,通常通过在原始站点的 iframe 上进行笼罩来实现。

然而,这个 X-Frame-Options 标头只能有两个值,DENY 或 SAMEORIGIN。这对于 Spartacus 作为避免点击劫持的默认策略来说太无限了,因为 Spartacus 店面在 SmartEdit 中的 iframe 中运行。SmartEdit 在 iframe 中加载 Spartacus,实际上成心应用 Clickjacking 技术来反对内联内容治理。

Content-Security-Policy: frame-ancestors 提供了一种更简单的办法来解决点击劫持,因而能够应用 SmartEdit,同时依然可能避免点击劫持。CSP 将在下文进一步详述。为了确保 IE11 用户也受到爱护,X-Frame-Options 的应用依然是相干的。如果存在带有 frame-ancestors 指令的 CSP 标头,古代浏览器将齐全疏忽 X-Frame-Options 标头。

X-XSS-Protection

通常倡议不要应用 X-XSS-Protection 平安标头,因为它能够“在客户端引入额定的平安问题”。参看这个链接。

X-Content-Type-Options

为了避免用户将歹意文件上传到后端 API(AKA MIME 嗅探破绽),能够增加 X-Content-Type-Options 标头。

因为审核可能会报告短少 X-Content-Type-Options,因而倡议无论如何增加此标头。

例子:

X-Content-Type-Options: nosniff

Content Security Policy (CSP)

CSP 可避免各种攻打,包含跨站点脚本和其余跨站点注入。能够应用多个指令具体指定该策略。

该政策应包含以下指令:

  • frame-ancestors 指令:容许将店面加载到 SmartEdit 框架中。
  • script-src 指令可避免从未知地位加载脚本。这不仅包含 spartacus 动态资源,还包含 SmartEdit、Qualtrics 等用于集成的第三方 JS 文件。

script-src 指令不应应用 unsafe-inline 或 unsafe-eval 来避免 XSS。

  • object-src 指令以防止任何不平安的执行(即 flash、java 等)。
  • default-src 限度为仅应用 https

参考这篇文档。

正文完
 0