Forum Programmation.java Deconnecter une session http (htaccess)

Posté par  .
Étiquettes : aucune
0
7
juil.
2010
Bonjour,

Sur mon serveur web j'utilise des fichiers .htaccess et .htpasswd pour authentifier 3 malheureux utilisateurs.
Je voudrais que mes utilisateurs puissent se déconnecter de leur session http via un bouton ou un lien et non pas en fermant toutes les fenêtres ou onglets du navigateur.
D'après ce que j'ai trouvé, effacer les données de session http en php ne sert à rien car celle-ci sont contenu dans le navigateur et de fait renvoyées immédiatement par celui-ci. Il n'y a donc pas de réelle déconnexion et l'utilisateur n'a pas à ré-entrer ses identifiants.

C'est pourquoi s'il y a quelqu'un capable de me donner des pistes en javascript pour effacer ce type d'info dans le navigateur, je serais aux anges ! (je ne connais rien à javascript).

Pour des raisons pratiques je souhaiterais conserver ce type d'authentification simple (htaccess).

Merci

NB : la déconnexion est surtout pour moi qui suis susceptible de passer d'un utilisateur à l'autre (user standard vers admin par exemple).
  • # Ca peux....

    Posté par  (site web personnel) . Évalué à 2.

    Passe de coyote....

    http://www.ssi-developer.net/htaccess/htaccess_logout.shtml

    Fuse : j'en Use et Abuse !

    • [^] # Re: Ca peux....

      Posté par  . Évalué à 1.

      Merci, mais je viens de tester et ça ne fonctionne pas sur tous les navigateurs...

      Par contre j'ai trouvé ça : http://httpd.apache.org/docs/1.3/howto/auth.html#basicfaq

      Et ça dit clairement qu'il n'y a pas possibilité de logout... je suis un peu dégouté.
      • [^] # Re: Ca peux....

        Posté par  (site web personnel) . Évalué à 2.

        Et un script PHP dédié qui renvoie systématiquement un 401, ça suffit pas pour déclencher l'oubli des infos d'HTTP-AUTH par le navigateur ?
        • [^] # Re: Ca peux....

          Posté par  . Évalué à 1.

          J'ai également essayé, mais sans résultat... bref je viens de ré-écrire mon code avec une authentification par session. J'espère surtout que je n'ai pas trop mal sécurisé le truc...
  • # un lien vers logout.php

    Posté par  . Évalué à 1.

    qui invalidera ta session du coté serveur.

    setcookie(session_name(), '', time() - 100000);
    session_destroy();

    ainsi, plus aucune page ouverte dans ce navigateur ne pourra utiliser cette session

    pour de l'admin, tu peux même te compliquer un poil la tâche pour fermer toutes les sessions ouvertes sous ton nom d'admin. comme ça tu n'as pas à te déconnecter de chaque navigateur si tu en avais ouvert plusieurs


    maintenant, pour les navigateurs idiots qui vont se rappeler à l'insu de ton plein gré de ton mot de passe s'il apparaissait en clair à un moment donné, c'est une autre histoire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.