Defina uma lista de permissões ou lista de bloqueios de Referer para um bucket do Object Storage Service (OSS).
Permissões
Por padrão, uma conta Alibaba Cloud tem permissões totais. Usuários RAM ou funções RAM sob uma conta Alibaba Cloud não possuem nenhuma permissão por padrão. A conta Alibaba Cloud ou o administrador da conta deve conceder as permissões de operação por meio de RAM policies ou Bucket Policy.
|
API |
Ação |
Descrição |
|
PutBucketReferer |
oss:PutBucketReferer |
Defina a proteção contra hotlink para um bucket. |
Sintaxe da requisição
PUT /?referer HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Host: BucketName.oss.aliyuncs.com
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<RefererConfiguration>
<AllowEmptyReferer>false</AllowEmptyReferer>
<AllowTruncateQueryString>true</AllowTruncateQueryString>
<TruncatePath>true</TruncatePath>
<RefererList>
<Referer>http://www.aliyun.com</Referer>
<Referer>https://www.aliyun.com</Referer>
<Referer>http://www.*.com</Referer>
<Referer>https://www.?.aliyuncs.com</Referer>
</RefererList>
<RefererBlacklist>
<Referer>http://www.refuse.com</Referer>
<Referer>https://*.hack.com</Referer>
<Referer>http://ban.*.com</Referer>
<Referer>https://www.?.deny.com</Referer>
</RefererBlacklist>
</RefererConfiguration>
Elementos da requisição
|
Elemento |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
RefererConfiguration |
Contêiner |
Sim |
N/D |
O contêiner que armazena as configurações de proteção contra hotlink. Nós filhos: AllowEmptyReferer, AllowTruncateQueryString e RefererList Nós pais: nenhum |
|
AllowEmptyReferer |
String enumerada |
Sim |
false |
Especifica se deve permitir uma requisição cujo campo Referer esteja vazio. Valores válidos:
Nós pais: RefererConfiguration |
|
AllowTruncateQueryString |
String enumerada |
Não |
true |
Especifica se deve truncar a string de consulta na URL quando o Referer for correspondido. Valores válidos:
Nós pais: RefererConfiguration |
|
TruncatePath |
String enumerada |
Não |
true |
Especifica se deve truncar o caminho e as partes que o seguem na URL quando o Referer for correspondido. Valores válidos:
Nós pais: RefererConfiguration |
|
RefererList |
Contêiner |
Sim |
N/D |
O contêiner que armazena a lista de permissões de Referer. Nota
A operação PutBucketReferer substitui a lista de permissões de Referer existente pela lista de permissões de Referer especificada em RefererList. Se RefererList não for especificado na requisição, o que indica que nenhum elemento Referer está incluído, a operação PutBucketReferer limpa a lista de permissões de Referer existente. Nós pais: RefererConfiguration Nós filhos: Referer |
|
RefererBlacklist |
Contêiner |
Não |
N/D |
O contêiner que armazena a lista de bloqueios de Referer. Nota
A operação PutBucketReferer substitui a lista de bloqueios de Referer existente pela lista de bloqueios de Referer especificada em RefererBlacklist. Se RefererBlacklist não for especificado na requisição, o que indica que nenhum elemento Referer está incluído, a operação PutBucketReferer limpa a lista de bloqueios de Referer existente. Nós pais: RefererConfiguration Nós filhos: Referer |
|
Referer |
String |
Não |
http://www.aliyun.com |
Os endereços na lista de permissões ou lista de bloqueios de Referer. Nós pais: RefererList ou RefererBlacklist |
Para mais informações sobre os cabeçalhos de requisição comuns na operação PutBucketReferer, como Host e Date, consulte Common request headers.
Cabeçalhos de resposta
Todos os cabeçalhos na resposta a uma requisição PutBucketReferer são cabeçalhos de resposta comuns. Para mais informações, consulte Common response headers.
Exemplos
Requisições de exemplo
-
Requisição de exemplo que não contém uma lista de permissões de Referer nem uma lista de bloqueios de Referer
PUT /?referer HTTP/1.1 Host: BucketName.oss.example.com Content-Length: 247 Date: Thu, 17 Apr 2025 03:21:12 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e <?xml version="1.0" encoding="UTF-8"?> <RefererConfiguration> <AllowEmptyReferer>true</AllowEmptyReferer> <RefererList/> </RefererConfiguration> -
Requisição de exemplo que contém apenas uma lista de permissões de Referer
PUT /?referer HTTP/1.1 Host: BucketName.oss.example.com Content-Length: 247 Date: Thu, 17 Apr 2025 03:21:12 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e <?xml version="1.0" encoding="UTF-8"?> <RefererConfiguration> <AllowEmptyReferer>false</AllowEmptyReferer> <AllowTruncateQueryString>true</AllowTruncateQueryString> <TruncatePath>true</TruncatePath> <RefererList> <Referer>http://www.aliyun.com</Referer> <Referer>https://www.aliyun.com</Referer> <Referer>http://www.*.com</Referer> <Referer>https://www.?.aliyuncs.com</Referer> </RefererList> </RefererConfiguration> -
Requisição de exemplo que contém uma lista de permissões de Referer e uma lista de bloqueios de Referer
PUT /?referer HTTP/1.1 Host: BucketName.oss.example.com Content-Length: *** Date: Thu, 17 Apr 2025 03:21:12 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e <?xml version="1.0" encoding="UTF-8"?> <RefererConfiguration> <AllowEmptyReferer>false</AllowEmptyReferer> <AllowTruncateQueryString>true</AllowTruncateQueryString> <TruncatePath>true</TruncatePath> <RefererList> <Referer>http://www.aliyun.com</Referer> <Referer>https://www.aliyun.com</Referer> <Referer>http://www.*.com</Referer> <Referer>https://www.?.aliyuncs.com</Referer> </RefererList> <RefererBlacklist> <Referer>http://www.refuse.com</Referer> <Referer>https://*.hack.com</Referer> <Referer>http://ban.*.com</Referer> <Referer>https://www.?.deny.com</Referer> </RefererBlacklist> </RefererConfiguration>
Resposta de exemplo
HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906****
Date: Fri, 04 May 2012 03:21:12 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS
x-oss-server-time: 110
SDKs do OSS
Você pode usar os SDKs do OSS para as seguintes linguagens de programação a fim de chamar a operação PutBucketReferer:
ossutil
Para obter informações sobre o comando do ossutil que corresponde à operação PutBucketReferer, consulte put-bucket-referer.
Códigos de erro
|
Código de erro |
Código de status HTTP |
Descrição |
|
AccessDenied |
403 |
Você não tem autorização para executar a operação PutBucketReferer. Apenas o proprietário de um bucket pode iniciar requisições PutBucketReferer. |
|
InvalidDigest |
400 |
O valor Content-MD5 do corpo da mensagem calculado pelo OSS é inconsistente com o valor Content-MD5 no cabeçalho da requisição. Após o upload do cabeçalho de requisição Content-MD5, o OSS calcula o hash MD5 com base no corpo da mensagem e verifica se o hash MD5 calculado é igual ao valor Content-MD5 especificado no cabeçalho da requisição. Se os hashes MD5 forem inconsistentes, este código de erro será retornado. |
|
InlineDataTooLarge |
400 |
A lista de permissões e a lista de bloqueios de Referer excedem o limite superior de 20 KB. Reduza as entradas nas listas de permissões e de bloqueios de Referer. |