tencent cloud

14天试用边缘安全加速平台 EO 限时免费

文档反馈

对象存储

防盗链

最后更新时间:2024-01-19 15:41:29

简介

本文档提供关于存储桶 Referer 白名单或者黑名单的 API 概览以及 SDK 示例代码。
注意
需要 COS Java SDK v5.6.52 及以上版本。
API
操作名
操作描述
设置存储桶 Referer
设置存储桶 Referer 白名单或者黑名单
查询存储桶 Referer
查询存储桶 Referer 白名单或者黑名单

设置存储桶 Referer

功能说明

设置指定存储桶的 Referer 白名单或者黑名单(PUT Bucket referer)。

方法原型

public void setBucketRefererConfiguration(String bucketName, BucketRefererConfiguration configuration) throws CosClientException, CosServiceException;

public void setBucketRefererConfiguration(SetBucketRefererConfigurationRequest setBucketRefererConfigurationRequest) throws CosClientException, CosServiceException;

请求示例

// 源存储桶名称,需包含 appid
String bucketName = "examplebucket-1250000000";

BucketRefererConfiguration configuration = new BucketRefererConfiguration();

// 启用防盗链
configuration.setStatus(BucketRefererConfiguration.DISABLED);
// 设置防盗链类型为白名单
//configuration.setRefererType(BucketRefererConfiguration.WHITELIST);
// 设置防盗链类型为黑名单 (与白名单二选一)
configuration.setRefererType(BucketRefererConfiguration.BLACKLIST);

// 填写要设置的域名
configuration.addDomain("test.com");
configuration.addDomain("test.1.com");

//(可选)设置是否允许空防盗链访问,缺省就是 DENY
configuration.setEmptyReferConfiguration(BucketRefererConfiguration.DENY);
// configuration.setEmptyReferConfiguration(BucketRefererConfiguration.ALLOW);

cosClient.setBucketRefererConfiguration(bucketName, configuration);

参数说明

参数名
参数描述
类型
bucketName
存储桶的命名格式为 BucketName-APPID,详情请参见 命名规范
String
configuration
存储桶 Referer 配置
BucketRefererConfiguration
BucketRefererConfiguration 说明:
参数名
参数描述
类型
必选
方法
Status
是否开启防盗链,枚举值:Enabled、Disabled
String
setStatus
RefererType
防盗链类型,枚举值:Black-List、White-List
String
setRefererType
Domain
生效域名,支持带端口和 IP、支持通配符*, 支持多条
String
addDomain
EmptyReferConfiguration
是否允许空 Refer 访问,枚举值: Allow、Deny
String
setEmptyReferConfiguration

返回结果说明

成功:无返回值。
失败:发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理

查询存储桶 Referer

功能说明

查询指定存储桶 Referer 白名单或者黑名单(GET Bucket referer)。

方法原型

public BucketRefererConfiguration getBucketRefererConfiguration(String bucketName) throws CosClientException, CosServiceException

请求示例

// 源存储桶名称,需包含 appid
String bucketName = "examplebucket-1250000000";

BucketRefererConfiguration configuration = cosClient.getBucketRefererConfiguration(bucketName);

if (configuration == null) {
System.out.printf("bucket %s does not have referer configuration\\n", bucketName);
return;
}

System.out.printf("status: %s\\n", configuration.getStatus());
System.out.printf("referer type: %s\\n", configuration.getRefererType());
System.out.printf("empty referer config: %s\\n", configuration.getEmptyReferConfiguration());

for (String domain : configuration.getDomainList()) {
System.out.printf("domain: %s\\n", domain);
}

参数说明

参数名
参数描述
类型
bucketName
存储桶的命名格式为 BucketName-APPID,详情请参见 命名规范
String

返回结果说明

成功:返回存储桶的 Referer 白名单或者黑名单。
失败:发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理
联系我们

联系我们,为您的业务提供专属服务。

技术支持

如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

7x24 电话支持
中国香港
+852 800 906 020 (免费)
美国
+1 844 606 0804 (免费)
英国
+44 808 196 4551 (免费)
加拿大
+1 888 605 7930 (免费)
澳大利亚
+61 1300 986 386 (免费)
EdgeOne 热线
+852 300 80699
更多本地服务热线陆续新增中