Red de conocimiento informático - Problemas con los teléfonos móviles - [200 puntos][Agregar 200 puntos] ¿Cómo evitar que se llame a la página html?

[200 puntos][Agregar 200 puntos] ¿Cómo evitar que se llame a la página html?

Deberías estar hablando del problema de los enlaces activos, ¡mira a continuación!

---------------------------------

La definición de "enlace activo" es: este contenido no está en su propio servidor, y a través de medios técnicos, sin pasar por la página final donde otros colocan anuncios y beneficios, y proporciona este contenido directamente a los usuarios finales en sus propias páginas con anuncios y beneficios. A menudo son algunos sitios web pequeños desconocidos los que roban las direcciones de algunos sitios web grandes y poderosos (como las direcciones de descarga de música, imágenes y software) y luego las colocan en sus propios sitios web, de esta manera roban el espacio de los sitios web grandes. sitios web y tráfico.

Por qué ocurren los enlaces directos

Un fenómeno importante en la navegación general es que una página completa no se transmite al cliente de una sola vez. Si la solicitud es para una página con muchas imágenes y otra información, entonces la primera solicitud HTTP se devuelve el texto de esta página, y luego el navegador del cliente interpreta y ejecuta este texto, y encuentra que hay imágenes, luego el navegador del cliente enviará otra solicitud Http Cuando se procese la solicitud, el archivo de imagen se enviará al cliente y luego el navegador colocará la imagen en la posición correcta en la página, al igual que esta página completa. múltiples solicitudes HTTP antes de que se pueda mostrar por completo. Con base en tal mecanismo, surgirá un problema, es decir, el problema de los enlaces directos: si un sitio web no tiene la información mencionada en la página, como la información de la imagen, entonces puede conectar completamente la imagen a otros sitios web. De esta manera, un sitio web sin recursos utiliza los recursos de otros sitios web para mostrárselos a los espectadores, aumentando su propio tráfico, y la mayoría de los espectadores no lo encontrarán fácilmente. Obviamente, para el sitio web que ha utilizado recursos, es injusto. Algunos sitios web sin escrúpulos suelen robar enlaces de otros sitios web para ampliar el contenido de su propio sitio sin aumentar los costes. Por un lado, perjudica los intereses legítimos del sitio web original y, por otro, aumenta la carga para el servidor.

Los enlaces directos que encontré

Los dos tipos más comunes de enlaces directos que encuentro en mi sitio web son los enlaces directos de imágenes y los enlaces directos de archivos. Había una vez un sitio web muy visitado que vinculaba imágenes desde mi sitio web, consumiendo varios gigabytes de tráfico en un día. Al mismo tiempo, muchos programas de software a gran escala de decenas de megabytes en mi sitio a menudo están vinculados a archivos, lo que consume muchos recursos en nuestro sitio.

Solución al hotlinking

De hecho, este molesto problema se puede resolver fácilmente mediante la tecnología de filtrado de URL del servidor WEB.

Si el servidor WEB usa APACHE, puede evitar fácilmente varios enlaces directos utilizando la función Url Rewrite que viene con APACHE. El principio es verificar el REFER y prohibirlo si la información REFER proviene de otros sitios web. Acceda a los recursos necesarios.

Entonces, ¿IIS admite UrlRewrite?

La respuesta es sencilla, no es compatible. Pero podemos habilitar la compatibilidad con IIS instalando extensiones de servidor de terceros.

Actualmente existe un producto que puede soportar mejor UrlRewrite de IIS y su nombre es ISAPI_Rewrite.

La dirección de descarga es: /download/

Solo existe una versión LITE de ISAPI Rewrite que es gratuita, y las demás son versiones de prueba. Las características de la versión ISAPI Rewrite Lite no admiten la configuración de sitios virtuales, el monitoreo de metadatos y la limpieza automática de caché. Pero las funciones básicas de UrlRewrite son compatibles.

¿Cómo configurar UrlRewrite?

isapi_rewrite utiliza expresiones regulares para representar reglas de reemplazo.

El siguiente es un ejemplo simple. Quiero que nuestros usuarios ingresen http://localhost/test-12314.html y accedan a http://localhost/test.asp?id=12314. Entonces nuestra expresión coincidente debería ser /test-([0-9]*).html y la expresión de formato correspondiente debería ser /test.asp\?id=$1.

Al escribir expresiones regulares, puede utilizar la herramienta de prueba de expresiones regulares proporcionada por isapi_rewrite (proporcionada por la instalación predeterminada) para la depuración. Después de completar la expresión coincidente y la expresión de formato, podemos colocarlas en httpd.ini en el directorio de instalación. Una vez guardado el archivo, entrará en vigor sin necesidad de reiniciar iis.

Para mi sitio web, mi forma de evitar los enlaces directos es agregar la siguiente declaración a httpd.ini

RewriteCond Host: (.+)

RewriteCond Referer: (?!http://\1.*).*

RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]

Luego reinicie IIS. En este momento, el anti-hotlinking comenzará a surtir efecto y las solicitudes de hotlinking de otros sitios web serán rechazadas.