Principio anti-leech en nginx

1. ¿Qué es el hotlinking de recursos?

La vinculación activa de recursos significa que el contenido no está en su propio servidor, sino a través de medios técnicos, eludiendo las restricciones de otras personas, colocando el contenido de otras personas, como imágenes populares, en su propia página y mostrándolo a los usuarios, para robar tráfico de los sitios web de otras personas, es decir, para robar tráfico.

En definitiva, es utilizar cosas ajenas para hacer tu propia web

De la siguiente manera, las dos imágenes que se encuentran en Internet se pueden abrir directamente en el navegador
inserte la descripción de la imagen aquíinserte la descripción de la imagen aquí
para guiar el caso.

Usando los dos enlaces de imágenes anteriores, cree una página html en el directorio de recursos de nginx y establezca los enlaces de las dos imágenes en ella. Hay una página a.html de la siguiente manera.
inserte la descripción de la imagen aquí
En la página a.html, consulte los dos enlaces de imagen anteriores. El contenido es el siguiente:
inserte la descripción de la imagen aquí
inicie el servicio nginx, visite la página a.html en el navegador y observe el efecto de la visualización de la imagen.
inserte la descripción de la imagen aquí
Desde la perspectiva del efecto de visualización, la primera imagen se puede mostrar normalmente, pero la segunda imagen no se puede mostrar. En otras palabras, la dirección de la segunda imagen ha agregado la función de evitar el hotlinking;

2. Principio de implementación de Nginx anti-leech

Antes de comprender el principio de anti-leeching, debe comprender el parámetro Referer del encabezado HTTP.

Cuando el navegador envía una solicitud al servidor web, generalmente trae un Referer para decirle al navegador desde qué página está vinculada la página web El servidor de fondo juzga si es una
inserte la descripción de la imagen aquí
dirección de sitio web en la que confía en función de la información de Referer obtenida.

El efecto de simular localmente el servidor anterior es el siguiente:
inserte la descripción de la imagen aquí

3. Implementación de Nginx anti-leech

gramática valid_referers ninguno | bloqueado | nombres_servidor | cadena…
valores predeterminados -
Ubicación servidor, ubicación

referentes_validos

  • nginx hará coincidir automáticamente el contenido detrás de valid_referers al verificar el referente;
  • Si hay una coincidencia, establezca la variable invalidreferer en 0 y, si no hay ninguna coincidencia, establezca la variable invalid_referer en 1;
  • No distingue entre mayúsculas y minúsculas durante la coincidencia;

Introducción a otros parámetros:

  • ninguno: si el referente en el encabezado está vacío, se permite el acceso;
  • bloqueado: el Referer en el encabezado no está vacío, pero el valor ha sido disfrazado por un firewall o proxy, como recursos sin encabezados de protocolo como "http://" y "https://" pueden acceder;
  • server_names: especifique un nombre de dominio específico o IP;
  • cadena: una cadena que puede admitir expresiones regulares y *. Si es una expresión regular, debe
    comenzar con ~

Método de implementación uno

1. Cree un directorio de imágenes en el directorio html de nginx
inserte la descripción de la imagen aquí
. 2. Agregue la siguiente configuración en nginx.conf.
inserte la descripción de la imagen aquí
3. Reinicie nginx y visite esta imagen. 4. Configure
inserte la descripción de la imagen aquí
la ruta de esta imagen a un.html anterior . Esto realiza la función de cadena antirrobo
inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

Método de implementación dos

establecido para todo el directorio

Si hay muchas imágenes para configurar, también puede configurarlas para todo el directorio, de la siguiente manera:
inserte la descripción de la imagen aquí
luego modifique la ruta de la imagen en el a.html personalizado y
inserte la descripción de la imagen aquí
visite la página nuevamente para lograr el efecto anterior.
inserte la descripción de la imagen aquí

Método de implementación tres

A juzgar por el efecto anterior, de hecho es posible evitar el hotlinking, pero en aplicaciones prácticas, espero que esas imágenes no mostradas se muestren de manera más amigable, y se puede hacer en combinación con la reescritura. Veamos los pasos de implementación específicos a continuación.

1. Busque una imagen en Internet y colóquela en el directorio de imágenes.

El efecto es el siguiente
inserte la descripción de la imagen aquí
2. Modifique el archivo de configuración nginx.conf

La información de configuración clave es la siguiente, es decir, devuelva el 403 original y use la reescritura para señalar una imagen específica. Después de la
inserte la descripción de la imagen aquí
modificación, reinicie el servicio nginx y visite la ruta anterior nuevamente, y podrá ver el siguiente efecto. Esto
inserte la descripción de la imagen aquí
también logra el efecto de anti-leech .

Supongo que te gusta

Origin blog.csdn.net/qq_44113347/article/details/131465506
Recomendado
Clasificación