全部产品
云市场

如何验证OSS的Referer防盗链是否生效

更新时间:2019-09-19 09:04:10

概述

本文主要介绍如何验证OSS的Referer防盗链是否生效。

 

详细信息 

测试准备

  1. 在OSS控制台中设置Referer,其访问白名单为http://oss.jinxiangtest.com
  2. 设置Referer不允许为空。
  3. 在Bucket中创建一个名为testoss.txt的文件。
  4. 具体设置操作请参见设置防盗链,OSS防盗链细节请见防盗链的介绍

 

测试方法

此处介绍以下三种场景的测试方法,测试时请在Linux操作系统中进行。

 

场景一

执行如下操作,通过curl命令不加参数访问,代表通过浏览器直接打开URL。由于设置了不允许Referer为空,系统报错,确认报错为AccessDenied,证明不允许Referer为空的设置生效。

curl http://oss.jinxiangtest.com/testoss.txt

系统报错显示类似如下。

 

场景二

执行如下操作,通过curl命令加参数-e,传递设置的白名单中Referer到访问地址,代表由oss.jinxiangtest.com网站传递的请求。没有报错,证明白名单Referer设置生效。

curl -e http://oss.jinxiangtest.com http://oss.jinxiangtest.com/testoss.txt

系统显示类似如下。

 

场景三

执行如下操作,通过curl命令加参数-e,传递错误的Refere到访问地址,由于oss.jinxiangtest234.com不在白名单中,系统报错,证明白名单Referer设置生效。

curl -e http://oss.jinxiangtest234.com http://oss.jinxiangtest.com/testoss.txt

系统报错显示类似如下。

 

更多内容

要求客户源站的浏览器必须验证正确,比如,在Chrome浏览器中按F11键,可能会出现如下的信息造成防盗链失败(禁止访问的域名Referer到防盗链白名单的域名上),需要修改程序禁止此操作。

注:上图中Referer键对应的值为防盗链白名单地址,Host键对应的值为Bucket访问域名。

 

适用于

  • 对象存储 OSS