Configura una lista de permitidos o una lista de bloqueo de Referer para un bucket de Object Storage Service (OSS).
Permisos
De forma predeterminada, una cuenta de Alibaba Cloud tiene permisos completos. Los usuarios o roles de RAM asociados a una cuenta de Alibaba Cloud no cuentan con ningún permiso de manera predeterminada. La cuenta de Alibaba Cloud o el administrador de la cuenta deben otorgar los permisos de operación mediante RAM policies o Bucket Policy.
|
API |
Acción |
Descripción |
|
PutBucketReferer |
oss:PutBucketReferer |
Configura la protección contra hotlinking para un bucket. |
Sintaxis de la solicitud
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 de la solicitud
|
Elemento |
Tipo |
Obligatorio |
Ejemplo |
Descripción |
|
RefererConfiguration |
Contenedor |
Sí |
Ninguna |
Contenedor que almacena las configuraciones de protección contra hotlinking. Nodos secundarios: AllowEmptyReferer, AllowTruncateQueryString y RefererList Nodos primarios: ninguno |
|
AllowEmptyReferer |
Cadena enumerada |
Sí |
false |
Indica si se permite una solicitud cuyo campo Referer esté vacío. Valores válidos:
Nodos primarios: RefererConfiguration |
|
AllowTruncateQueryString |
Cadena enumerada |
No |
true |
Indica si se trunca la cadena de consulta en la URL al coincidir el Referer. Valores válidos:
Nodos primarios: RefererConfiguration |
|
TruncatePath |
Cadena enumerada |
No |
true |
Indica si se truncan la ruta y las partes posteriores a esta en la URL cuando coincide el Referer. Valores válidos:
Nodos primarios: RefererConfiguration |
|
RefererList |
Contenedor |
Sí |
Ninguna |
Contenedor que almacena la lista de permitidos de Referer. Nota
La operación PutBucketReferer sobrescribe la lista de permitidos de Referer existente con la especificada en RefererList. Si la solicitud no incluye RefererList, es decir, no contiene elementos Referer, la operación PutBucketReferer borra la lista de permitidos de Referer existente. Nodos primarios: RefererConfiguration Nodos secundarios: Referer |
|
RefererBlacklist |
Contenedor |
No |
Ninguna |
Contenedor que almacena la lista de bloqueo de Referer. Nota
La operación PutBucketReferer sobrescribe la lista de bloqueo de Referer existente con la especificada en RefererBlacklist. Si la solicitud no incluye RefererBlacklist, es decir, no contiene elementos Referer, la operación PutBucketReferer borra la lista de bloqueo de Referer existente. Nodos primarios: RefererConfiguration Nodos secundarios: Referer |
|
Referer |
Cadena |
No |
http://www.aliyun.com |
Direcciones incluidas en la lista de permitidos o en la lista de bloqueo de Referer. Nodos primarios: RefererList o RefererBlacklist |
Para obtener más información sobre los encabezados de solicitud comunes en la operación PutBucketReferer, como Host y Date, consulte Common request headers.
Encabezados de respuesta
Todos los encabezados de la respuesta a una solicitud PutBucketReferer son encabezados de respuesta comunes. Para obtener más información, consulte Common response headers.
Ejemplos
Ejemplos de solicitudes
-
Solicitud de ejemplo sin lista de permitidos ni lista de bloqueo 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> -
Solicitud de ejemplo que solo contiene una lista de permitidos 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> -
Solicitud de ejemplo que contiene una lista de permitidos y una lista de bloqueo 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>
Ejemplo de respuesta
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
SDK de OSS
Use los SDK de OSS para los lenguajes de programación a continuación y llame a la operación PutBucketReferer:
ossutil
Para obtener información sobre el comando de ossutil correspondiente a la operación PutBucketReferer, consulte put-bucket-referer.
Códigos de error
|
Código de error |
Código de estado HTTP |
Descripción |
|
AccessDenied |
403 |
No tiene autorización para ejecutar la operación PutBucketReferer. Solo el propietario de un bucket puede enviar solicitudes PutBucketReferer. |
|
InvalidDigest |
400 |
El valor Content-MD5 del cuerpo del mensaje calculado por OSS no coincide con el valor Content-MD5 del encabezado de la solicitud. Después de cargar el encabezado de solicitud Content-MD5, OSS calcula el hash MD5 a partir del cuerpo del mensaje y comprueba si coincide con el valor Content-MD5 especificado en el encabezado. Si los valores hash MD5 no coinciden, se devuelve este código de error. |
|
InlineDataTooLarge |
400 |
Las listas de permitidos y de bloqueo de Referer superan el límite máximo de 20 KB. Reduzca las entradas en ambas listas. |