La cama de imágenes de gitee no se cargó, reproduzcamos la escena del crimen y el principio de anti-sanguijuela

Esta tarde, algunos amigos en el grupo y en el círculo de amigos informaron que los cuadros en la cama de fotos Gitee no se pueden abrir.

imagen.png

En este artículo, utilizo https://gitee.com/Topcvan/js-notes-img/raw/master/%E5%AE%8F%E4%BB%BB%E5%8A%A1%E9%98%9F%E5%88%97.pngesta imagen como ejemplo para reproducir el incidente.

cadena antirrobo

Pensé, esta debe ser la adición repentina de la cadena antirrobo, echemos un vistazo al principio de la cadena antirrobo:

Referer hace referencia a la dirección de la página de origen de la página de solicitud actual, que se utiliza para determinar la fuente de acceso de la página actual. La cadena antirrobo de imágenes reemplaza la imagen con la imagen de la señal de prohibición al juzgar Referersi es el sitio web de destino.

Referer es en realidad referrerun error ortográfico de la palabra

Por ejemplo, en este evento de gitee, cuando se cargan todas las imágenes en el sitio web de gitee, el navegador agregará el último encabezado de solicitud a la imagen de manera predeterminada: referer: https://gitee.com/. En otros sitios web, si el campo de encabezado de solicitud de referencia que se lleva no es el sitio web de gitee, se devolverá una imagen de marcador de posición.

Sin embargo, en general, la imagen anti-hotlinking se puede abrir directamente en el navegador, porque no llevará el campo de encabezado de referersolicitud cuando se abre directamente en el navegador, y la configuración anti-leech lo permitirá.

Si es así, si está en un sitio web personal, puede configurar todas las solicitudes de imágenes sin campos de encabezado de solicitud a través de la PolíticaReferer de referencia para evitar la configuración anti-leech .

<meta name="referrer" content="no-referrer">
复制代码

Con este fin, hice dos páginas web especialmente y las comparé de acuerdo con las imágenes URL de mdnice que se configuraron con anti-leech:

403

Ah, sí, cuando abra dos URL en este momento, recuerde deshabilitar el almacenamiento en caché en la consola del navegador : (PS: agregue un Vary: referer para prohibir tales problemas)

imagen.png

Sin embargo, ¡esto no funciona para gitee!

medidas anti-sanguijuelas de gitee

Sin embargo, las medidas contra las sanguijuelas establecidas por gitee son más estrictas:

Las imágenes en gitee también se someterán a un procesamiento anti-leech si no llevan el referente.

Para esto, hice un experimento controlado basado en el referercampo .

Solicite directamente la dirección de la imagen a través de cURL , no se devuelve nada :

$ curl 'https://gitee.com/Topcvan/js-notes-img/raw/master/%E5%AE%8F%E4%BB%BB%E5%8A%A1%E9%98%9F%E5%88%97.png' \
  --compressed
复制代码

Solicite directamente la dirección de la imagen a través de cURL, y lleve el referercampo , hay contenido y regresa correctamente :

$ curl 'https://gitee.com/Topcvan/js-notes-img/raw/master/%E5%AE%8F%E4%BB%BB%E5%8A%A1%E9%98%9F%E5%88%97.png' \
  -H 'Referer: https://gitee.com/' \
  --compressed
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.
复制代码

Captura de pantalla a continuación:

Reemplace directamente el src de una img en el sitio web oficial con la dirección de la imagen personal de gitee y ábralo normalmente:

evaluar

Es lógico que el anti-leech también sea para evitar la gran cantidad de apropiación indebida de imágenes y otros recursos en el sitio web, lo que resulta en una tarifa de servidor enorme. Pero gitee tiene un mejor enfoque:

  1. Aviso de un mes por adelantado, transición suave y no causará una repercusión tan grande
  2. La política contra las sanguijuelas es demasiado estricta y las imágenes no se pueden abrir directamente en el navegador.

Incluso como los Nuggets, ¡agregue su propia marca de agua en la esquina inferior derecha!

Supongo que te gusta

Origin juejin.im/post/7079321533558030349
Recomendado
Clasificación