No es posible hacer lo que quieres hacer, por razones fundamentales. El usuario controla el cliente. Desde el lado del servidor, el servidor no tiene forma de distinguir un navegador legítimo que está realizando una solicitud de una imagen en la página (un caso en el que desea servir la imagen) de un usuario malintencionado que intenta acceder directamente a la imagen (un caso en el que no desea servir la imagen). Estas dos situaciones son indistinguibles desde el punto de vista del servidor, por lo que el servidor debe comportarse de la misma manera en ambos casos: o sirve la imagen en ambos casos o no la sirve.
Es posible que desee volver a visitar lo que en realidad está intentando lograr y ver si hay alguna otra manera de lograrlo. ¿Qué estás tratando de prevenir? ¿Contra qué amenaza intenta protegerse?
Si está intentando evitar el raspado, una cosa que podría considerar hacer es hacer que las imágenes estén disponibles solo para los usuarios registrados. Deberá decidir si eso es apropiado para su sitio o si no es una buena combinación (tal vez quiera que todos puedan ver las páginas web y las imágenes). Otra opción es configurar su archivo robots.txt
para solicitar amablemente que los robots no descarguen las imágenes. Te verás obligado a confiar en la buena voluntad de los robots. Los bots y raspadores de buen comportamiento generalmente obedecerán las instrucciones en robots.txt
. Un usuario malintencionado siempre puede ignorar el archivo robots.txt
y raspar su sitio de todos modos, pero desafortunadamente, no hay forma de evitarlo: un usuario malintencionado siempre podrá descargar cualquier contenido que haya decidido poner a disposición de usuarios no autenticados. . Entonces, robots.txt
es, de alguna manera, posiblemente el mejor que puedes hacer razonablemente, en la mayoría de las situaciones.
Vea también ¿Cómo evito que las personas roben fotos de mi sitio web? y cómo puedo evitar que las personas utilicen mis imágenes de mi sitio web .