Completamente no permitir el almacenamiento en caché del navegador

Quiero evitar que ciertos archivos sean almacenados en caché por un navegador (por razones de derechos de autor). Sé que puedes cambiar los encabezados usando PHP:

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 

¿Es esto tan bueno como se pone? ¿Alguien puede pensar en capas adicionales de seguridad?

agregar una marca de tiempo en la url del recurso:

 http://example.com/img.jpg?t=12234234 //append this in the server side 

esto engaña al navegador y al servidor para pensar que es un nuevo recurso cada vez. solo asegúrate de que el valor sea diferente cada vez. esto se aplica a cualquier recurso (cualquiera me corrige si estoy equivocado) como html simple, imágenes, etc.

Random Querystring para evitar el almacenamiento en caché de IE

Sin embargo, el recurso aún se almacena en el caché, independientemente de si ha expirado. Todo lo que el navegador hace cuando un recurso caduca es esperar hasta que el usuario revise el sitio nuevamente, vuelva a descargar el recurso y sobrescriba el existente en el caché. Hasta que el usuario lo haga, no borrará los del caché.


Otra forma de evitar el almacenamiento en caché es usar SSL en su conexión. De forma predeterminada, los navegadores no almacenan en caché los sitios con SSL, una de las razones principales, aparte de la sobrecarga adicional para el descifrado, es la razón por la que se evita SSL en todas partes. Sin embargo, aún así, algunos navegadores permiten el almacenamiento en caché SSL (hasta donde yo sé, Firefox lo hace) Y aún no cambia el hecho de que el recurso se envía al navegador del usuario, que puede ser interceptado o visto en un depurador.


Todos los métodos anteriores pueden evitar la caché pero NO evitarán que nadie robe sus imágenes. La idea de Internet es acceder a los recursos desde otra computadora. Dicho esto, el usuario TIENE ACCESO a esos recursos. Todo lo que llegue al navegador está sujeto a la voluntad del usuario. Puede mirarlo, mirar la fuente, interceptarlo al llegar, ver usando un depurador como sea.

Todo lo que coloque en una página web en Internet es como entregar un millón de dólares al descubierto: no puede evitar que los ladrones lo vean, es posible que no sepa si la persona con la que está tratando es también un ladrón.


¡La única forma infalible de evitar que las imágenes sean propiedad de otra persona es colocarle una marca de agua grande!