Article / 文章中心

阿里云OSS验证Refer防盗链是否生效

发布时间:2018-06-15 点击数:3219

首先在OSS控制台中设置Referer。具体操作请参见:点击查看

备注:OSS防盗链细节请参考:点击查看

这里设置访问白名单为http://oss.jinxiangtest.com,代表允许白名单中的域名可以访问,这里一般设置为自己的网站域名。

空Refer设置是否允许Refer为空,代表用户是否可以直接从浏览器打开。

我们测试的bucket中有个名为testoss.txt的文件,设置好Refer后可以通过Linux系统的curl命令进行测试。

测试方法:

1、不加参数直接使用curl测试,这代表通过浏览器直接打开url,由于设置了不允许refer为空,查看报错AccessDenied,说明空Refer生效了。

oss2.jpg

2、加上-e参数传递设置白名单中的refer到访问地址,代表由oss.jinxiangtest.com网站传递的请求,查看测试生效,没有报错。

oss3.jpg

3、再通过-e参数传递错误的refer到访问地址,可以看到由于oss.jinxiangtest234.com不在白名单中,因此报错AccessDenied,说明白名单refer生效了。

oss4.jpg

特别提示下:这个要求客户的源站的浏览器支持必须验证正确,在IE11的浏览器下可能会出现如下的信息造成防盗链失败(禁止访问的域名referer到防盗链白名单的域名上了,这种需要修改程序禁止这个行为)

1.png 

1是防盗链白名单的地址