Amazon s3 内容安全策略标准是否支持通配符路径?如果没有,为什么';不是吗?

Amazon s3 内容安全策略标准是否支持通配符路径?如果没有,为什么';不是吗?,amazon-s3,google-cloud-storage,cdn,content-security-policy,Amazon S3,Google Cloud Storage,Cdn,Content Security Policy,从读取中可以看出,它似乎不支持给定URL的路径部分中的通配符。这似乎是一个疏忽,因为许多CDN和静态文件托管提供商在其用户之间共享根域名,并且只区分URL路径而不是整个域的访问 例如,当使用S3或Google云存储作为CDN时,您可能希望CSP允许使用通配符URL(如“*”)从您的bucket加载脚本/资产,但在剩余时间内不允许加载,因为恶意参与者创建自己的帐户并从该根域提供内容是非常简单的 这似乎是一个非常常见的用例,我是否误解了规范?如果不是,那么使用通配符路径的语法是什么,比如使用Cont

从读取中可以看出,它似乎不支持给定URL的路径部分中的通配符。这似乎是一个疏忽,因为许多CDN和静态文件托管提供商在其用户之间共享根域名,并且只区分URL路径而不是整个域的访问

例如,当使用S3或Google云存储作为CDN时,您可能希望CSP允许使用通配符URL(如“*”)从您的bucket加载脚本/资产,但在剩余时间内不允许加载,因为恶意参与者创建自己的帐户并从该根域提供内容是非常简单的

这似乎是一个非常常见的用例,我是否误解了规范?如果不是,那么使用通配符路径的语法是什么,比如使用
Content-Security-Policy:script src'self'https://example.com/*
似乎不起作用。

规范()的“匹配源表达式”部分详细描述了URL匹配算法。它确实支持您的请求,但不使用通配符

该规范讨论了允许的源的可选“路径部分”,并指出如果允许的URL以斜杠“/”结尾,则它是前缀匹配,而不是精确匹配

所以,在你的例子中,如果你允许

https://storage.googleapis.com/my-apps-bucket/
例如,带有斜杠但结尾没有星号的文件将匹配该URL下的文件

https://storage.googleapis.com/my-apps-bucket/file1.js

这一点现在已在,特别是在工作草案中。将
https://storage.googleapis.com/my-apps-bucket/
也匹配
https://storage.googleapis.com/my-apps-bucket