Red de conocimiento informático - Material del sitio web - ¿Cómo evitar los hotlinking en el sitio web?

¿Cómo evitar los hotlinking en el sitio web?

El anti-leeching puede basarse en OSS. Actualmente, OSS proporciona dos métodos principales para evitar los enlaces directos:

Establecer referencias. Se pueden operar la consola y el SDK, lo cual es adecuado para usuarios que no desean escribir código y también para usuarios a quienes les gusta desarrollar;

La URL de firma es adecuada para usuarios a quienes les gusta desarrollar. Este artículo brindará un ejemplo específico de cómo configurar Referer anti-hotlinking en la consola, y también brindará un ejemplo de cómo generar dinámicamente una URL firmada basada en PHP SDK para evitar hotlinking.

Pasos específicos para evitar el hotlinking a través de Referer

Paso uno: Ingrese a la interfaz de la consola de administración de OSS.

Paso 2: haga clic en el nombre del espacio de almacenamiento de destino para ingresar a la página de administración del espacio de almacenamiento.

Paso 3: haga clic en Propiedades del depósito > Configuración de la cadena de seguridad.

Paso 4: haga clic en "Configuración" para agregar una URL a la lista blanca y establecer si se permite que esté vacía.

Haga clic para ingresar una descripción de la imagen.

Paso 5: Haga clic en "Enviar" para guardar la configuración anti-sanguijuelas.

Por ejemplo

Para un espacio de almacenamiento llamado test-1-001, establezca su lista blanca de referencia en -Hangzhou com"; #Endpoint, según la selección de la región creada por el depósito. en este artículo Hangzhou $ Bucket = 'referer-test'; #Bucket, debe usar el cliente $ OSS del usuario = nuevo cliente OSS ($ keyid de acceso, $ accesskeysecret, $ endpoint = "Alibaba Cloud -logo); .png "# Objeto $timeout firmado = 300 # Tiempo esperado de falla del enlace, esto significa 300 segundos desde el momento actual en que se ejecutó el código en esta línea $$signedUrl = $cliente OSS->-->sigurl ($bucket, $objeto , $time out); # la función $img = $signedrurl se implementa mediante la URL firmada #Coloque dinámicamente la URL firmada en el recurso de imagen e imprímala $ my _ html = "

Paso 3: Acceda a varias solicitudes a través del navegador y descubra que la URL firmada cambiará. Principalmente por cambios en el tiempo de vencimiento. Este tiempo de vencimiento es el momento en que falla el enlace y se muestra en tiempo Unix. Por ejemplo: Expires=189999, puede convertir esta hora a hora local. El comando en Linux es date -d@189999. También puede encontrar herramientas en Internet para convertirlo usted mismo.

Instrucciones especiales

Las URL firmadas se pueden utilizar junto con la función de lista blanca de referencias.

Si el tiempo de vencimiento de la URL firmada se limita a minutos, entonces el usuario que roba el enlace debe obtener la URL firmada incluso si falsifica un referente, y debe estar dentro del tiempo válido para poder roba con éxito el enlace. En comparación con el uso exclusivo de Referer, aumenta la dificultad del robo de enlaces. En otras palabras, la URL de firma combinada con la función de lista blanca de referencias puede aumentar el efecto anti-sanguijuela.

Descripción general del anti-hotlinking Las mejores prácticas para el anti-hotlinking basado en OSS son las siguientes:

Utilice URL de nombres de dominio de tercer nivel, como referer-test.oss-cn -hangzhou.aliyuncs.com/aliyun- logo.png, es más seguro que vincular un nombre de dominio de segundo nivel. El método de nombre de dominio de tercer nivel puede proporcionar limpieza y aislamiento a nivel de depósito para hacer frente al aumento del tráfico después del robo, evitar la influencia mutua entre diferentes depósitos y, en última instancia, mejorar la disponibilidad del servicio;

Si un nombre de dominio personalizado se utiliza como conexión, CNAME también debe estar vinculado al nombre de dominio de tercer nivel y la regla es el punto final del depósito.

Si su depósito se llama prueba, el nombre de dominio de tercer nivel es test.oss-cn-hangzhou.aliyuncs.com;

Establezca la categoría de permiso lo más estricta posible para el depósito. Por ejemplo, si un depósito que proporciona servicios de red pública está configurado en lectura pública o privada, está prohibido configurarlo en lectura y escritura públicas. Consulte el control de acceso de los permisos del depósito;

Verifique la fuente de acceso y configure una lista blanca de referencias adecuada según sea necesario;

Si se requiere una solución anti-leeching más estricta, por favor consulte el esquema de URL firmada;

Los registros de acceso al depósito de grabación pueden detectar actividades de hotlinking de manera oportuna y verificar la efectividad del esquema anti-hotlinking. Para obtener registros de acceso, consulte Configuración de registros de acceso.