Question

  

Possible en double:    authentification HTTP via PHP Déconnexion

Salut

J'ai certaines fonctionnalités sur mon site protégé en utilisant .htaccess et .htpasswd. Lorsque les utilisateurs tentent d'y accéder, ils obtiennent rapidement entrer dans les détails. Ils entrent dans leurs détails et entrer et peuvent voir des choses, etc. Tout fonctionne très bien.

Ma question est de savoir comment puis-je créer une fonctionnalité logout pour ce type d'authentification. Je sais qu'ils peuvent fermer la fenêtre du navigateur pour « Déconnexion ». Mais ce n'est pas idéal. Que proposeriez-vous pour moi?

Merci.

Était-ce utile?

La solution

Browsers généralement ne prennent pas en charge ce sujet, consultez Comment puis-je me déconnecter?

  

Depuis les navigateurs ont commencé   la mise en œuvre l'authentification de base,   Les administrateurs du site ont voulu   savoir comment laisser l'utilisateur se déconnecter.   Étant donné que le navigateur met en cache le nom d'utilisateur   et mot de passe avec l'authentification   domaine, comme décrit plus haut dans ce   tutoriel, ce n'est pas une fonction de   la configuration du serveur, mais est   question d'obtenir le navigateur   oublier les informations d'identification, de sorte   que la prochaine fois que la ressource est   sur demande, le nom d'utilisateur et mot de passe   doit être fourni à nouveau. Il y a   de nombreuses situations dans lesquelles cela est   souhaitable, par exemple lors de l'utilisation d'un   navigateur dans un lieu public, et non   qui souhaite quitter le navigateur connecté   , de sorte que la prochaine personne peut obtenir   dans votre compte bancaire.

     

Cependant, bien que ce soit peut-être la   le plus souvent posées sur la   l'authentification de base, jusqu'ici aucun des   les fabricants de navigateurs principaux ont   vu cela comme étant une caractéristique souhaitable   de mettre dans leurs produits.

     

En conséquence, la réponse à cette   question est, vous ne pouvez pas. Désolé.

Il existe des extensions de navigateur qui vous permettent d'effacer l'authentification HTTP pour un site. Pour Firefox WebDeveloper extension (qui est l'un de mes extensions imaginions de toute façon) offre cette fonctionnalité. Le menu de c'est Miscellaneous/Clear Private Data/HTTP Authentication.

Autres conseils

Testé sur FireFox et Chrome . Ce que vous pouvez faire est d'envoyer à l'utilisateur http: // Déconnexion: logout@example.com . Cela remplacera son nom d'utilisateur / mot de passe actuel avec fermeture de session / fermeture de session (il pourrait être tout utilisateur non valide / passe combinaison) et qu'ils ont maintenant le mauvais nom d'utilisateur / mot de passe, ils devront se connecter à nouveau pour accéder au site.

Sur l'opéra cela ne fonctionne pas, parce que vous pouvez avoir plusieurs noms d'utilisateur / mots de passe en même temps. Il ne fonctionne pas sur IE soit, parce que IE ne semble pas soutenir http: // nom d'utilisateur: password@example.com URL.

Je suis tombé sur cette question il y a plusieurs années. Il est incroyablement frustrant de découvrir il y a un problème que tout le monde est d'avoir et personne ne semble vouloir résoudre d'une manière générale.

Comme indiqué dans inadéquate fonctionnalité de déconnexion dans l'authentification HTTP Je pense que la réponse est de changer la RFC pour permettre les délais d'attente et d'appuyer sur un bouton vous déconnecter. suggestion supplémentaire que le serveur de l'auteur soit en mesure d'envoyer un en-tête « déconnecter » éliminerait effectivement la nécessité de any client support de l'agent utilisateur depuis les sites Web peuvent simplement inclure un lien sur une page Web à une URL renvoie le code de réponse nécessaire et / ou en-tête pour invalident la session en cours.

Il est un peu possible de vous déconnecter. Vous devez mettre en œuvre la page de fermeture de session, qui retournera HTTP 401, jusqu'à ce que l'utilisateur d'entrer des informations de connexion BAD, puis rediriger ailleurs. Navigateur rappelle les dernières informations de connexion acceptée, et remplace donc la connexion correcte.

Mais cela est un peu inutilisable, cos il a besoin de la coopération de l'utilisateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top