bloqueando el acceso directo a los archivos a través de la entrada de url mientras aún permite que una secuencia de comandos en el servidor acceda a los archivos

1

Estoy tratando de lograr lo siguiente y no he tenido éxito. Apreciaría cualquier idea. Escenario: enlace es una página web. En esta página web, estoy ejecutando un script de visor que muestra documentos (.png, swf, pdf) y se los muestro a mis visitantes cuando visitan la página .html. Ahora mismo puede acceder a los archivos pdg, swf y pdf a través de vaya a enlace (o swf o pdf). ¿Cómo puedo bloquear el acceso directo? (http://www.domainname.com/viewerfiles/nameoffile.png) pero aún así permite que el espectador que se encuentra en la página html acceda a los archivos ubicados en la carpeta viewrfiles. He intentado el método .htaccess pero todavía puedes acceder a los archivos directamente. Mi objetivo es permitir que los visitantes vean e impriman los archivos de la página web, pero no quiero que los scrappers y los bots que indexan / toman el .pdf, png, swf, etc. y los alojan en otros sitios. Gracias!

    
pregunta Tracy 02.03.2012 - 23:19
fuente

4 respuestas

3

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 .

    
respondido por el D.W. 03.03.2012 - 04:27
fuente
1

Solo puede decidir si un usuario tiene acceso para descargar un archivo de su sitio o no, no puede controlar lo que un usuario determinado hace con el archivo. Podría intentar inspeccionar las propiedades de la solicitud para reconocer el comportamiento típico de un navegador que incrusta el archivo como un recurso en su página principal, pero estas propiedades son fácilmente suplantadas y es propenso a romper el uso normal de su sitio.

    
respondido por el JGWeissman 02.03.2012 - 23:56
fuente
0

Intente usar Google para usar la protección de imagen de Hotlink para evitar el acceso directo a ellos.

Si su cuenta de hosting tiene cPanel, sus instrucciones están en: enlace

    
respondido por el AWebGuru 16.11.2012 - 20:27
fuente
-1

dijiste en tu publicación que estás usando .htaccess

Ya respondí esta pregunta hace unos días en stackoverflow

En esa publicación se trataba de imágenes, pero puedes modificarla fácilmente para todo

    
respondido por el Salvador Dali 16.11.2012 - 23:16
fuente

Lea otras preguntas en las etiquetas