目前有refer信息如下
xxx.com/demo/m/activeView.html?id=2
对于这样的refer信息 我设置xxx.com/*是否可行?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
对于您提到的Referer信息 xxx.com/demo/m/activeView.html?id=2,如果您希望设置Referer防盗链规则以匹配该请求,以下是详细的分析和配置建议:
根据知识库中的Referer配置规范,OSS支持以下匹配规则: - 通配符星号(*):用于匹配任意长度的字符串。 - 通配符问号(?):用于匹配单个字符。 - 带端口的域名或IP地址:可以精确匹配特定端口的域名或IP。
在您的场景中,xxx.com/* 的配置是否可行,取决于以下几点:
OSS在解析Referer时,默认会忽略QueryString部分。例如: - 请求URL为 http://xxx.com/demo/m/activeView.html?id=2 - 如果Referer白名单设置为 http://xxx.com/demo/m/activeView.html,则匹配成功。
因此,xxx.com/* 的配置可以匹配到 xxx.com/demo/m/activeView.html 部分,而忽略 ?id=2 的QueryString。
为了确保Referer防盗链规则能够正确匹配您的需求,您可以按照以下方式进行配置: - 使用通配符星号(*): - 设置为 http://xxx.com/* 或 https://xxx.com/*,可以匹配所有以 xxx.com/ 开头的请求路径。 - 这种配置适用于您希望允许 xxx.com 下的所有子路径访问资源的场景。 - 精确匹配路径前缀: - 如果仅希望允许特定路径前缀,例如 /demo/m/,可以设置为 http://xxx.com/demo/m/*。 - 这种配置更加严格,仅允许匹配指定路径前缀的请求。
http 或 https)。如果请求可能来自两种协议,则需要同时配置。curl 命令进行测试,验证防盗链规则是否生效。例如:
curl -e "http://xxx.com/demo/m/activeView.html?id=2" http://example****.oss-cn-hangzhou.aliyuncs.com/demo.txt
对于 xxx.com/demo/m/activeView.html?id=2 的Referer信息,设置 xxx.com/* 是可行的,因为OSS会忽略QueryString部分并匹配路径前缀。如果需要更严格的控制,可以使用 xxx.com/demo/m/* 来限制匹配范围。
如有进一步问题,请随时联系!