开发者社区 问答 正文

OSS里防盗链关于Referer的编写

背景情况是这样的:
1,我们的域名是 hicomic.net
2,我设置了我们OSS里需要防盗链功能。
3,我添加的 Referer 信息是 hicomic.net 和 *.hicomic.net
4,然后现在我发现请求路径为 http://hicomic.net 是,下面所有的图片都报 403 错误。而以 http://www.hicomic.net 进行访问时,图片是可以访问的。

我想问一下,我需要怎么配置OSS的 Referer 才可以使其正确?

展开
收起
1665730083005134 2018-08-28 21:01:10 1179 分享 版权
阿里云 AI 助理回答

根据您的描述,您在阿里云对象存储(OSS)中启用了防盗链功能,并且设置了允许的Referer为hicomic.net*.hicomic.net。但是,当直接通过http://hicomic.net访问时图片显示403错误,而通过http://www.hicomic.net则可以正常访问。

这是因为浏览器在发送请求时,对于没有指定子域名(如http://hicomic.net)和指定了子域名(如http://www.hicomic.net)的情况,其Referer头部信息会有差异。您当前的设置可能未能正确覆盖所有子域名情况。

要解决这个问题,确保所有以hicomic.net为根域名的请求都能通过防盗链验证,您可以调整OSS的Referer设置,将规则改为:

  • *.*.hicomic.net
  • *.hicomic.net
  • hicomic.net

这样的设置会更加宽松,允许任何以hicomic.net结尾的Referer通过验证,无论是带www还是不带www,或者其他任何子域名。

操作步骤如下:

  1. 登录阿里云OSS控制台。
  2. 选择相应的Bucket。
  3. 进入“基础设置”或“跨域资源共享(CORS)与Referer”配置页面。
  4. 在Referer设置中,添加上述三个规则。
  5. 保存设置。

请记得,更改防盗链设置后可能需要等待一段时间生效。这样配置后,不论是通过http://hicomic.net还是http://www.hicomic.net访问,理论上都应该能够正确加载图片了。不过,请注意,放宽Referer设置可能会增加安全风险,确保这符合您的安全策略。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答