2008-12-24 16 views
4

J'ai ajouté le code suivant à ma page maître (Page_Load). Une fois qu'un utilisateur se déconnecte, il ne pourra plus utiliser le bouton Précédent pour voir la page précédente.Avertissement: la page a expiré

Response.Buffer = true; 
Response.ExpiresAbsolute = DateTime.Now.AddDays(-1); 
Response.Expires = -1; 
Response.CacheControl = "no-cache"; 

Le problème est que mes utilisateurs veulent pouvoir utiliser le bouton de retour du navigateur lorsqu'ils sont connectés à l'application. Lorsque je commente le code pour ne pas mettre en cache les pages, ils peuvent utiliser le bouton Précédent, mais une fois qu'ils se déconnectent, ils peuvent utiliser le bouton Précédent pour voir la page précédente sur laquelle ils se trouvaient, ce qui entraîne un risque de sécurité.

Quelqu'un a-t-il des suggestions pour utiliser le bouton de retour du navigateur dans l'application, mais une fois déconnecté, il ne peut pas retourner dans l'application?

Répondre

2

L'objectif d'empêcher un utilisateur non authentifié de visiter subrepticement un ordinateur précédemment utilisé et de voir ce que l'utilisateur authentifié a été fait? Si ce dernier, alors vous devriez rediriger l'utilisateur vers une page de déconnexion qui a un window.close(); commande avec un langage fort à ce sujet étant exigence. Maintenant, ce n'est pas ironclad: IE demandera l'utilisateur s'ils sont prêts à laisser l'application fermer la fenêtre et d'autres navigateurs ignorent la demande tout à fait. Cependant, dans le bon type d'environnement de sécurité, je pense que cela apporte un complément significatif à votre politique de sécurité - quoique d'une variété principalement culturelle (cela aide les membres de la culture à respecter les règles). Si vous voulez un type de sécurité "unique et terminé", je crains que le verrouillage du cache ou l'ajout de "window.forward()" à chaque page (ce qui empêche toute utilisation du dos) bouton) est votre seule option réelle.

Une autre chose: AJAX fournit également des outils utiles. Vous pouvez mettre des informations sensibles sur un panneau de mise à jour et faire en sorte que le chargement de la page javascript déclenche une actualisation du panneau de mise à jour. Comme cela retournera toujours au serveur, les utilisateurs non authentifiés/expirés seront rejetés. C'est une charge de travail assez importante à assumer, mais je pensais que je le lancerais là-bas.

0

YUI offre un moyen de contrôler facilement l'historique du navigateur afin de pointer par programmation les URL dans l'historique. Jetez un oeil au gestionnaire YUI Browser History.

Questions connexes