原图保护功能可以防止您OSS内允许匿名访问的图片文件被盗用。开启原图保护后,匿名访问者可以使用携带样式参数的请求或通过签名URL访问原图。
背景信息
您可以通过以下方式访问开启原图保护的图片:
使用携带样式参数的文件URL访问,格式为https://BucketName.Endpoint/ObjectName?x-oss-process=style/StyleName。
使用携带签名的文件URL访问,格式为https://BucketName.Endpoint/ObjectName?Signature。
操作步骤
登录OSS管理控制台。
单击Bucket 列表,然后单击目标Bucket名称。
在左侧导航栏,选择 。
在图片处理页面,单击访问设置。
在访问设置面板,打开原图保护开关,并设置以下参数:
参数
说明
原图保护规则
最多可设置10条原图保护规则,每条规则由前缀和后缀组成。
说明原图保护规则功能公测中,请联系技术支持申请使用。
规则说明如下:
设置单条原图保护规则时,前缀和后缀可单独配置,也可以同时配置。同时配置时,文件名称需同时匹配前后缀才会生效。
说明如果您希望对某个文件夹(例如image/)下的图片文件开启原图保护,请将前缀设置为image/。
设置多条原图保护规则时,文件名称匹配任意一条规则即可生效。
原图保护规则和原图保护后缀同时配置时,文件名匹配两者中的任一配置即可生效。
如果您希望忽略规则中指定前缀或后缀的大小写,请选中忽略大小写。
原图保护后缀
在原图保护后缀下拉列表选择文件后缀,Bucket中所有匹配指定后缀的文件都会被保护。
说明如果设置为
*
,则所有文件都会被保护。自定义分隔符
支持四种自定义分隔符,分别为短横线(-)、下划线(_)、正斜线(/)以及感叹号(!)。设置自定义分隔符后,可使用分隔符代替样式参数,进一步简化图片处理URL。
例如,使用携带样式参数的图片处理URL访问图片时,格式为https://BucketName.Endpoint/ObjectName?x-oss-process=style/StyleName。将自定义分隔符设置为感叹号(!)时,可直接使用格式为http(s)//:BucketName.Endpoint/ObjectName!StyleName的图片URL访问图片。
单击确定。
常见问题
问题一:OSS开启了原图保护,直接访问图片文件时会正常返回403,但是通过CDN来进行请求时原图保护无效,返回200。
这种情况有可能是CDN回源到了私有Bucket,造成原图保护失效。原图保护功能仅针对匿名访问文件有效,对于带签名的访问是无效的。
问题二:开启原图保护后,为什么通过签名后的URL仍可以访问原图?
原图保护仅针对允许匿名访问的文件,使用签名URL访问图片属于非匿名访问。所以开启原图保护后,使用签名后的URL仍然可以访问原图。