Configura uma lista de permissões ou lista de bloqueios de Referer para um bucket do Object Storage Service (OSS).
Permissões
Por padrão, a conta Alibaba Cloud tem permissões totais. Usuários RAM e funções RAM vinculados a essa conta não possuem permissões iniciais. A conta Alibaba Cloud ou o administrador deve conceder as permissões de operação por meio de políticas do RAM ou Bucket Policy.
|
API |
Action |
Descrição |
|
PutBucketReferer |
oss:PutBucketReferer |
Configura a proteção contra hotlink para um bucket. |
Sintaxe da solicitaçã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 solicitação
|
Elemento |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
RefererConfiguration |
Contêiner |
Sim |
N/A |
Contêiner que armazena as configurações de proteção contra hotlink. Nós filhos: AllowEmptyReferer, AllowTruncateQueryString e RefererList Nó pai: nenhum |
|
AllowEmptyReferer |
String enumerada |
Sim |
false |
Defina se solicitações com o campo Referer vazio são permitidas. Valores válidos:
Nó pai: RefererConfiguration |
|
AllowTruncateQueryString |
String enumerada |
Não |
true |
Indica se a query string na URL deve ser truncada durante a correspondência do Referer. Valores válidos:
Nó pai: RefererConfiguration |
|
TruncatePath |
String enumerada |
Não |
true |
Especifica se o caminho e as partes subsequentes na URL devem ser truncados ao corresponder ao Referer. Valores válidos:
Nó pai: RefererConfiguration |
|
RefererList |
Contêiner |
Sim |
N/A |
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 especificada em RefererList. Caso RefererList não seja especificado na solicitação, indicando que nenhum elemento Referer está incluído, a operação PutBucketReferer limpa a lista de permissões de Referer existente. Nó pai: RefererConfiguration Nó filho: Referer |
|
RefererBlacklist |
Contêiner |
Não |
N/A |
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 especificada em RefererBlacklist. Se RefererBlacklist não for especificado na solicitação, indicando ausência de elementos Referer, a operação PutBucketReferer limpa a lista de bloqueios de Referer existente. Nó pai: RefererConfiguration Nó filho: Referer |
|
Referer |
String |
Não |
http://www.aliyun.com |
Endereços presentes na lista de permissões ou lista de bloqueios de Referer. Nó pai: RefererList ou RefererBlacklist |
Para obter mais informações sobre os cabeçalhos de solicitação comuns na operação PutBucketReferer, como Host e Date, consulte Cabeçalhos de solicitação comuns.
Cabeçalhos de resposta
Todos os cabeçalhos na resposta a uma solicitação PutBucketReferer são cabeçalhos de resposta comuns. Para mais detalhes, consulte Cabeçalhos de resposta comuns.
Exemplos
Solicitações de exemplo
-
Exemplo de solicitação sem lista de permissões ou 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> -
Exemplo de solicitação contendo 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> -
Exemplo de solicitação com lista de permissões e 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
Use os SDKs do OSS nas linguagens de programação abaixo para invocar a operação PutBucketReferer:
ossutil
Para informações sobre o comando do ossutil correspondente à 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. Somente o proprietário do bucket pode iniciar solicitações PutBucketReferer. |
|
InvalidDigest |
400 |
O valor Content-MD5 do corpo da mensagem calculado pelo OSS difere do valor Content-MD5 no cabeçalho da solicitação. Após o upload do cabeçalho Content-MD5, o OSS calcula o hash MD5 com base no corpo da mensagem e verifica se ele corresponde ao valor Content-MD5 especificado no cabeçalho. Caso haja divergência entre os hashes MD5, este código de erro é retornado. |
|
InlineDataTooLarge |
400 |
As listas de permissões e bloqueios de Referer excedem o limite máximo de 20 KB. Reduza o número de entradas nas listas de permissões e bloqueios de Referer. |