IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Sécurité] Déconnexion après authentification HTTP [FAQ]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 44
    Points : 28
    Points
    28
    Par défaut [Sécurité] Déconnexion après authentification HTTP
    Bonjour à toutes et à tous!

    Voilà pour mon site personnel, j'ai mis en place des authentifications HTTP. Seulement je ne sais pas vraiment comment déconnecter un utilisateur avec ce genre d'authentification. J'ai bien essayé de remplacer le contenu des variables globales $_SERVER["PHP_AUTH_USER"] et $_SERVER["PHP_AUTH_PW"] par des chaînes vides mais cela ne fonctionne pas. Je n'ai même pas de message d'erreur.

    Quelqu'un peut-il m'aider?

    Merci beaucoup.

  2. #2
    Membre éprouvé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Points : 1 054
    Points
    1 054
    Par défaut
    Audentification HTTP, tu parle de POST et de get?
    Dans ce cas ne cherche plus : $_POST & $_GET
    Sinon il existe aussi $_COOKIE et $_SESSION ^^
    Je croi que tu peut trouver quelque chose dessu dans la faq
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 44
    Points : 28
    Points
    28
    Par défaut
    En effet, autant pour moi. Il convient de préciser que j'ai un serveur Apache et que mes fichiers sont gardés par un des fichiers du type .htaccess ... L'authentification se fait par une boîte de dialogue et elle est gérée par le serveur seul. Aucun script PHP n'intervient.

  4. #4
    Membre éprouvé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Points : 1 054
    Points
    1 054
    Par défaut
    Alors la c'est plus du cotée d'apache quil faut se tourner. Peutètre utiliser une commande... La fason la plus silmple serais de rediriger vers une page externe au répertoire, ce qui devrais couper la connection.(mais je ne suis pas sur)
    Je suis désoler mais je ne connais pas vraiment de solution.
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 44
    Points : 28
    Points
    28
    Par défaut
    Non la redirection vers une page quelconque ne coupe la connexion. L'utilisateur est toujours connecté est peu retourner dans le répertoire...

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Il faut envoyer un header 403

  7. #7
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,

    Il n'y a pas de moyen fiable. Même avec l'erreur 403 avec Firefox tu resteras connecté. Pour gérer correctement la déconnexion il faut plutôt utiliser les sessions.
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  8. #8
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    pardon c'est 401 ^^

  9. #9
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Démonstration :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
    if (!isset($_SERVER['PHP_AUTH_USER']) || isset($_REQUEST['logout'])) {
       header('WWW-Authenticate: Basic realm="My Realm"');
       header('HTTP/1.0 401 Unauthorized');
       echo 'Texte utilisé si le visiteur utilise le bouton d\'annulation';
       exit;
    } else {
       echo "<p>Bonjour, {$_SERVER['PHP_AUTH_USER']}.</p>";
       echo "<p>Votre mot de passe est {$_SERVER['PHP_AUTH_PW']}.</p>";
       echo '<a href="'.$_SERVER['PHP_SELF'].'">continuer</a> | <a href="'.$_SERVER['PHP_SELF'].'?logout">deconnexion</a>';
    }
     
    ?>
    ou encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
     
    if (!isset($_SERVER['PHP_AUTH_USER'])) {
       header('WWW-Authenticate: Basic realm="My Realm"');
       header('HTTP/1.0 401 Unauthorized');
       echo 'Texte utilisé si le visiteur utilise le bouton d\'annulation';
       exit;
    } else {
        if (isset($_REQUEST['logout'])) {
            header('HTTP/1.0 401 Unauthorized');
            echo 'Vous êtes déconnectez !';
            exit;
        }
        echo "<p>Bonjour, {$_SERVER['PHP_AUTH_USER']}.</p>";
        echo "<p>Votre mot de passe est {$_SERVER['PHP_AUTH_PW']}.</p>";
        echo '<a href="'.$_SERVER['PHP_SELF'].'">continuer</a> | <a href="'.$_SERVER['PHP_SELF'].'?logout">deconnexion</a>';
    }
     
    ?>

  10. #10
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Je persiste et signe. Ca ne fonctionne pas avec Firefox (1.0.X) donc ce n'est pas viable.
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  11. #11
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    vi. autant pour moi, j'ai mal testé

Discussions similaires

  1. Connexion à une URL avec authentification HTTP en python 3.2
    Par Jean-Pascal dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 31/03/2011, 16h03
  2. Modifier la chaine de connexion apres l'export du script d'un job
    Par naoufel_ch dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 11/08/2009, 16h25
  3. Réponses: 1
    Dernier message: 22/09/2008, 10h14
  4. pb connexion apres migration.
    Par Delphieur dans le forum Connexions aux bases de données
    Réponses: 3
    Dernier message: 01/02/2008, 14h04
  5. Aucune connexion après l'installation Citrix PS 4.0
    Par genialk2000 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 23/06/2006, 17h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo