
17/12/2004, 08:03
|
| | Fecha de Ingreso: noviembre-2004 Ubicación: trelew - chubut
Mensajes: 134
Antigüedad: 20 años, 5 meses Puntos: 0 | |
fijate si te ayuda esto que encontre por ahi
Páginas públicas o privadas
En ocasiones es importante controlar la privacidad de la información que se manda. Supongamos que en nuestro acceso a Internet tenemos un proxy cerca. Los servidores proxy tienen su propia memoria caché y si un usuario accede a una página a la que ya había accedido otro usuario posiblemente el proxy le envíe la copia de la página que tenía en su memoria caché. En algunas ocasiones nos interesará que la página la sirva el proxy y en otras nos interesará que la página la sirva directamente el servidor y esto lo podremos dominar fácilmente con Response.Expires. Pero hay un caso especial en el que puede ser especialmente problemático que un usuario acceda a una página que estaba construida para otro, por ejemplo en el caso de que la información fuese confidencial o extraída para el usuario primero.
Para evitar que páginas con contenidos personales se puedan mandar a otras personas distintas de su dueño por culpa de los servidores proxy está la propiedad Response.CacheControl. Si le asignamos el valor "Private" la página no será guardada por los servidores proxy. Si le asignamos el valor "Public" las páginas si que se almacenarán en los servidores proxy y podrán ser enviadas a otras personas.
<%
Response.CacheControl = "Public"
%>
<%
Response.CacheControl = "Private"
%>
Otro truquillo
Otra manera de evitar la caché se puede realizar de una manera más artesanal. Se trata de conseguir que la URL a la que accedemos siempre varíe. Como siempre será distinta nunca se buscarán los archivos de la caché.
Conseguir que el URL de la página sea siempre distinto se puede hacer gracias al paso de parámetros por la URL, aunque luego en la página no utilicemos los parámetros para nada, conseguiremos que la URL varíe. Para mandar en un parámetro siempre un número distinto podemos adjuntar una variable que construimos con la hora del sistema.
<%
Tiempo_url = year(now) & month(now) & day(now) & hour(now) & minute(now) & second(now)
%>
<a href="ejemplocachev21.asp?parametro=<%=Tiempo_url% >">Ver</a>
Vemos cómo se construye un enlace que tiene un parámetro que cambia cada segundo. Podemos verlo funcionando para que quede más ilustrado.
No llegar a guardar la página en la caché
Puede ser útil decirle al navegador que no llegue a guardar la página en la caché mandándole una cabecera especial en el HTTP, sobretodo en casos como el anterior, que estamos guardando muchas páginas en la caché, una por cada vez que se accede con un parámetro distinto en la URL.
<%
Response.AddHeader "PRAGMA", "NO-CACHE"
%>
Con Response.AddHeader se pueden mandar más tipos de encabezamientos del http como la fecha de modificación del documento (LAST-MODIFIED) o el tiempo en el que se tiene que realizar un refresco de la página (REFRESH).
Hace un refresh
<%
Response.AddHeader "PRAGMA", "NO-CACHE"
Response.AddHeader "REFRESH", "10"
response.write hour(now) & ":" & minute(now) & ":" & second(now)
%> |