内容安全策略object-src指令完全指南

本文详细解析HTTP内容安全策略中的object-src指令,包括其语法、使用方法和实际案例。object-src用于控制网页中object和embed元素的资源加载,是防止插件相关安全风险的重要防护手段。

Bug Bounty Hunting — Complete Guide (Part-130)

🧩 What is Content-Security-Policy: object-src?

object-src指令是HTTP内容安全策略(CSP)的一部分,用于指定网页上插件相关元素(特别是<object><embed> HTML标签)的有效来源。

这些元素历史上用于嵌入Flash、Java小程序或PDF阅读器等内容。由于这些插件通常存在安全风险且被认为是传统的HTML元素,object-src指令有助于限制或完全阻止它们的使用。

推荐:出于安全考虑和这些元素的过时性,强烈建议限制此指令,通常如果您的应用程序不严格需要这些传统插件,将其设置为’none’。

可用性:此功能在现代Web浏览器中得到广泛支持,自2016年8月起可用。

🛠️ How to Use object-src (Syntax and Values)

您可以在HTTP Content-Security-Policy头中包含object-src指令。

描述
’none' 阻止通过<object><embed>加载所有资源。单引号是必需的。(推荐)
<source-expression-list> 空格分隔的批准来源列表。仅当资源来源URL与这些表达式之一匹配时才会加载。

Source Expressions

批准的列表可以包括:

  • ‘self’:允许从与文档相同来源加载内容。
  • <host-source>:特定域,例如https://trusted-plugins.com。
  • <scheme-source>:特定协议,例如https:。
1
Content-Security-Policy: object-src 'none';

🚫 Violation Case Example

如果您定义了限制性CSP头:

1
Content-Security-Policy: object-src https://example.com/

浏览器将阻止以下HTML元素,因为它们的来源(https://not-example.com/)与批准的来源不匹配:

1
2
<embed src="https://not-example.com/flash" />
<object data="https://not-example.com/plugin"></object>

↘️ Fallback Behavior

如果在策略中未明确定义object-src指令,浏览器将使用default-src指令中指定的规则来确定<object><embed>元素的有效来源。

我是Mehedi Hasan Rafid,一名内容作家。如果您需要像上面这样有用且信息丰富的网站博客内容,可以通过我的电子邮件联系我:rafidcontentwriter@gmail.com 或通过WhatsApp联系我:+8801969104310

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计