2017-02-02 1 views
1

Moi et mon collègue développant un site, et une chose mystérieuse est arrivé.Session expire et les options du navigateur: un non-sens

Nous avons dit à notre collègue de fermer tous les onglets et les fenêtres du navigateur (pour détruire la session), et d'en commencer un nouveau. Il l'a fait, et est revenu avec la même erreur. Nous avons compris, qu'il a mis son navigateur (dans notre cas en chrome, mais cette option sont dans d'autres navigateurs aussi): Settings -> On start -> continue where finished (ou quelque chose comme ça, le navigateur de ma mine n'est pas l'anglais).

Je n'ai jamais utilisé mon navigateur comme ça, mais comme d'autres l'ont dit, beaucoup de gens l'utilisent. Dans ce cas, il n'y a aucune garantie qu'un navigateur ferme les cookies de session, le seul moyen, quand je peux être sûr, si la déconnexion de l'utilisateur, et le processus de déconnexion est de détruire la session, ou de désactiver ces variables. ouvrir une session). Je pense, je ne devrais pas expliquer pourquoi c'est vraiment mauvais. Que puis-je faire avec ça? J'ai peur, rien, le navigateur est enregistrer cette session lorsqu'il est fermé, et recharger lorsqu'il est ouvert.

Les solutions liées au temps ne sont pas acceptables.

Comment avez-vous géré ce comportement dans vos scripts PHP? Dans les lieux publics, c'est une menace pour la vie.

Répondre

1

La session est basée sur le temps. Personne n'a encore une solution meilleure et pratique.

Vous ne contrôlez pas les événements qui se produisent sur le navigateur, par exemple s'ils vont nettoyer les cookies lors d'un redémarrage. Il appartient au fabricant du navigateur, qui peut à son tour demander à l'utilisateur certaines options. Comme vous le savez, il existe quelques vulnérabilités dans ce modèle de sécurité, mais aucun système ne peut être vraiment sûr sans la coopération du client.

techniques pour atténuer ce problème comprennent:

  • sessions qui viennent à échéance bientôt (vous pouvez les rafraîchir sur chaque chargement de page)
  • jetons CSRF sous toutes ses formes
  • re-demander à l'utilisateur son mot de passe pour les opérations vraiment sensibles (comme un changement de mot de passe)
+0

Merci. Comme je l'ai dit, je n'ai jamais essayé cette option, et je ne connaissais pas ce comportement des navigateurs. C'est marrant, cet opéra fait comme il se doit, alors ça me rapproche de la page où j'étais, mais je ne me souviens pas de la session. – vaso123