如何使用content-security-policy元标记允许混合内容(http与https)?

时间:2016-05-05 06:19:46

标签: meta content-security-policy mixed-content

我强迫https访问我的网站,但有些内容必须加载http(例如视频内容不能超过https),但浏览器阻止因mixed-contents政策而请求。

经过数小时的搜索,我发现我可以使用内容安全政策,但我不知道如何允许混合内容。

<meta http-equiv="Content-Security-Policy" content="????">

2 个答案:

答案 0 :(得分:13)

你不能。

CSP限制您网站上的内容,而不是放宽浏览器限制。

安全https网站给予用户一定的保证,然后允许在其上加载http内容(因此混合内容警告)并不公平,如果您可以在未经用户同意的情况下隐藏这些警告,那真的不公平。

您可以使用CSP来帮助迁移到https,例如:

  1. 您可以使用它自动将http请求升级到https(虽然浏览器支持不是通用的)。这有助于您错过将http链接更改为https等效项。但是,这假设资源可以通过https加载,并且听起来不能通过https加载它们,因此这不是一个选项。

  2. 您还可以使用CSP通过将消息报告给您可以监控的服务来帮助您识别您错过的站点上的任何http资源,以便说明尝试加载http资源。这允许您识别并修复https的http链接,这样您就不必依赖上述自动升级。

  3. 但这也不是你真正想要的。

答案 1 :(得分:8)

你不应该...但是你可以,该功能被证明here HTTP PNG图像即时转换为HTTPS。

view.ContentDescription = "test-id";

还有一个新的权限API,described here,允许Web服务器检查用户对地理位置,推送,通知和Web MIDI等功能的权限。