Firebase 上的子资源完整性安全标头

Posted

技术标签:

【中文标题】Firebase 上的子资源完整性安全标头【英文标题】:Subresource Integrity security header on Firebase 【发布时间】:2020-11-11 05:34:09 【问题描述】:

SRI - Firebase 上的子资源完整性安全功能

我想在 Firebase。 我的推送通知是 OneSignal 网站的基本设置,由 CDN,但现在我正在处理 CORS 问题。 尝试通过 Access-Control-Allow-Origin 将 oneSignal CDN 列入白名单 标头,但没有用。

对此有何建议?非常感谢!

index.html

    <!-- OneSignal -->
    <script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" integrity="sha256-t1LT+Y2Mggg3CziqvOSn//47ekhB3IWvczG5g5pZF5I= sha384-vVrIVOhTb6P+4WMvVY4OhcO9b04Pt1kfcrkiTi3q8b/MG7kRwiNSIuhmKBnlKA3W sha512-zI/26urvS8F5oBQj4MChQbf8jVDP06RucbNYHuTguAxo3h8PXgFlM175kxarwnM9y0wTVjGAXe5JWIHsRMK2kw==" crossorigin="anonymous" async></script>

firebase.json

  "headers": [
    
      "source": "**",
      "headers": [
        
          "key": "Access-Control-Allow-Origin",
          "value": "https://cdn.onesignal.com/"
        ,
        
          "key": "Vary",
          "value": "Origin"
        
      ]
    
 ]

注意:对于从嵌入它的文档以外的源提供的资源的子资源完整性验证,浏览器还使用跨源资源共享 (CORS) 检查资源,以确保为资源提供服务的源允许它与请求源共享。 Subresource_Integrity

【问题讨论】:

【参考方案1】:

您是否尝试过将您的功能设置为公开? 不知道这是否真的是你要找的。 https://cloud.google.com/functions/docs/securing/managing-access-iam#allowing_unauthenticated_function_invocation

【讨论】:

我使用的是免费计划,而不是使用问题所在的功能......所以使用这些功能在谷歌域之外调用的方式只有在付费计划下才可行......并且你是对的,那是指向解决方案的链接。谢谢!

以上是关于Firebase 上的子资源完整性安全标头的主要内容,如果未能解决你的问题,请参考以下文章

无法在Firebase Java中更新完整的子对象

检查请求是不是是 Chrome 扩展程序中的子资源完整性

使用 javascript 的图像的子资源完整性

是否有一个标志可以禁用铬中的子资源完整性检查?

PHP 中的子资源完整性和缓存破坏技术

使用 Require JS 的 angularJS 应用程序中的子资源完整性