$ Session de détruire _SERVER?
-
21-08-2019 - |
Question
Ok donc je ne suis pas à l'aide des variables de session, plutôt mon code ressemble à ceci:
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="Enter your Twitter username and password:"');
header('HTTP/1.0 401 Unauthorized');
echo 'Please enter your Twitter username and password to view your followers.';
exit();
}
$username = $_SERVER['PHP_AUTH_USER'];
$password = $_SERVER['PHP_AUTH_PW'];
Alors, ma question est, comment puis-je détruire cette session de connexion lorsque l'utilisateur veut se déconnecter de leur (dans ce cas) les informations de connexion de twitter?
La solution
Tout ce que vous pouvez faire est d'envoyer un autre 401 en-tête. Le navigateur habituellement « oublier » l'ancienne valeur, affiche un autre utilisateur / pass dialogue d'entrée et si les utilisateurs puis appuyez sur le bouton « annuler » ils sont « déconnectés ». Deux inconvénients:
- La boîte de dialogue « abandonner la connexion pour fermer la session » peut surprendre les utilisateurs un peu
- "habituellement" signifie: mieux ne pas en dépendent .
edit: Et a déjà répondu, authentification HTTP via PHP Déconnexion
Autres conseils
Il n'y a aucun moyen de détruire un côté serveur de connexion d'authentification http. C'est l'un des plus grands inconvénients de cette forme de connexion.