Configure la protección contra hotlinking en un bucket de Object Storage Service (OSS) para evitar accesos no autorizados a sus recursos. En este tema se describe cómo ejecutar el comando referer para configurar esta protección en un bucket, así como para modificar, consultar y eliminar las configuraciones correspondientes.
Notas de uso
Para crear o modificar configuraciones de protección contra hotlinking, necesita el permiso
oss:PutBucketReferer. Para consultarlas, requiere el permisooss:GetBucketReferer. Para eliminarlas, debe contar con el permisooss:DeleteBucketReferer. Para obtener más información, consulte Grant a custom policy.
En ossutil 1.6.16 y versiones posteriores, use directamente ossutil como nombre del binario en la línea de comandos. No es necesario cambiar el nombre del binario según el sistema operativo. En versiones anteriores a la 1.6.16, sí debe ajustar el nombre del binario de acuerdo con su sistema operativo. Para obtener más información, consulte ossutil command reference.
Para obtener más información sobre la protección contra hotlinking, consulte Hotlink protection.
Crear o modificar configuraciones de protección contra hotlinking
Si un bucket no tiene configurada la protección contra hotlinking, el siguiente comando referer la establece. Si ya cuenta con esta protección, el comando sobrescribe la configuración existente.
Ejecute el siguiente comando para configurar o modificar la protección contra hotlinking de un bucket:
-
Sintaxis del comando
ossutil referer --method put oss://bucketname refererconfig [--disable-empty-referer]A continuación se describen los parámetros y las opciones de esta sintaxis.
Parámetro/Opción
Descripción
bucketname
Nombre del bucket donde desea crear o modificar la configuración de protección contra hotlinking.
refererconfig
Nombres de dominio o direcciones IP que desea agregar a la lista blanca de Referer. Puede usar asteriscos (*) y signos de interrogación (?) como caracteres comodín. Si especifica varios valores de Referer, sepárelos con espacios. Ejemplos:
-
Si agrega
http://www.aliyun.coma la lista blanca de Referer, coincidirán las URL que comiencen con http://www.aliyun.com, como http://www.aliyun.com/123 y http://www.aliyun.com.cn. -
Si agrega
*www.aliyun.coma la lista blanca de Referer, coincidirán las URL que contenganwww.aliyun.com, como http://www.aliyun.com y https://www.aliyun.com. -
El asterisco () funciona como carácter comodín y representa cero o varios caracteres. Por ejemplo, si agrega
.aliyun.com a la lista blanca de Referer, coincidirán URL como https://www.alibabacloud.com/help y https://www.aliyun.com. -
El signo de interrogación (?) actúa como carácter comodín y representa un solo carácter.
-
También puede agregar a la lista blanca de Referer nombres de dominio o direcciones IP seguidos de números de puerto, como https://www.example.com:8080 y https://10.0.0.0:8080.
--disable-empty-referer
Define si se permiten solicitudes con el campo Referer vacío.
-
Si no especifica este parámetro, se permiten las solicitudes con el campo Referer vacío. Es decir, se aceptan solicitudes HTTP o HTTPS que incluyan dicho campo vacío o que no lo incluyan.
-
Si especifica este parámetro, se rechazan las solicitudes con el campo Referer vacío. Solo las solicitudes HTTP o HTTPS que incluyan el campo Referer con un valor válido pueden acceder al bucket.
-
-
Ejemplos
Configure la protección contra hotlinking del bucket examplebucket para permitir que el dominio
www.aliyun.comhaga referencia a los objetos del bucket. Al mismo tiempo, impida el acceso a estos objetos mediante la escritura directa de sus URL en la barra de direcciones del navegador.ossutil referer --method put oss://examplebucket http://www.aliyun.com https://www.aliyun.com --disable-empty-refererConfigure la protección contra hotlinking del bucket examplebucket para permitir que el dominio
www.aliyun.comhaga referencia a los objetos del bucket. En este caso, también se permite el acceso a los objetos al escribir sus URL directamente en la barra de direcciones del navegador.ossutil referer --method put oss://examplebucket http://www.aliyun.com https://www.aliyun.comEl siguiente resultado de ejemplo indica que la protección contra hotlinking se configuró correctamente en el bucket:
0.134839(s) elapsed
Consultar la configuración de protección contra hotlinking de un bucket
-
Sintaxis del comando
ossutil referer --method get oss://bucketname [local_xml_file]A continuación se describen los parámetros del comando anterior.
Parámetro
Descripción
bucketname
Nombre del bucket cuya configuración de protección contra hotlinking desea consultar.
local_xml_file
Nombre del archivo local donde desea almacenar la configuración de protección contra hotlinking del bucket. Por ejemplo:
localfile.txt. Si no especifica este parámetro, la configuración se muestra directamente en pantalla. -
Ejemplos
-
Consulte la configuración de protección contra hotlinking del bucket examplebucket y almacénela en el archivo
localfile.txt.ossutil referer --method get oss://examplebucket localfile.txtEl siguiente resultado de ejemplo indica que la configuración de protección contra hotlinking se obtuvo correctamente.
0.212407(s) elapsed -
Consulte la configuración de protección contra hotlinking del bucket examplebucket y muéstrela en pantalla.
ossutil referer --method get oss://examplebucketEl siguiente resultado de ejemplo indica que solo las solicitudes HTTP o HTTPS cuyos encabezados Referer coinciden con
*www.aliyun.compueden acceder al bucket examplebucket. Además, muestra que no se permiten las solicitudes con el campo Referer vacío.<?xml version="1.0" encoding="UTF-8"?> <RefererConfiguration> <AllowEmptyReferer>false</AllowEmptyReferer> <RefererList> <Referer>*www.aliyun.com</Referer> </RefererList> </RefererConfiguration> 0.080482(s) elapsed
-
Eliminar la configuración de protección contra hotlinking de un bucket
-
Sintaxis del comando
ossutil referer --method delete oss://bucketnameEn esta sintaxis, bucketname indica el nombre del bucket cuya configuración de protección contra hotlinking desea eliminar.
-
Ejemplos
Elimine la configuración de protección contra hotlinking del bucket examplebucket.
ossutil referer --method delete oss://examplebucketEl siguiente resultado de ejemplo indica que la configuración de protección contra hotlinking del bucket se eliminó correctamente.
0.212409(s) elapsed
Opciones comunes
Para acceder a un bucket en otra región, use -e y especifique el endpoint correspondiente. Si necesita acceder a un bucket de otra cuenta de Alibaba Cloud, utilice -i para el AccessKey ID y -k para el AccessKey secret.
El siguiente comando muestra cómo configurar la protección contra hotlinking del bucket testbucket. Este bucket pertenece a otra cuenta de Alibaba Cloud y se encuentra en la región China (Hangzhou):
ossutil referer --method put oss://testbucket www.alibabacloud.com -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret