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 :

Authentification automatique par lien


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 27
    Points : 18
    Points
    18
    Par défaut Authentification automatique par lien
    Bonjour,

    Sur un site A, j'ai un lien qui pointe vers un site B.

    L'accès au site B nécessite un login. La demande d'authentification s'éffectue à l'aide de ce code inclu dans la page "index.php" du site B:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if ( !isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) 
    	|| ($_SERVER['PHP_AUTH_USER'] !== "toto" )
    	|| ($_SERVER['PHP_AUTH_PW'] !== "123") ) 
    {
       header('WWW-Authenticate: Basic realm="Authentifiez vous"');
       header('HTTP/1.0 401 Unauthorized');
       echo 'Acces non autorisé';
       exit;
    }

    Je souhaiterai que lorque l'utilisateur clique sur le lien du site A, il n'est pas à saisir les identifiants. Pour cela, le lien est écrit de cette manière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.siteB.fr/index.php?user=toto&mdp=1234
    Mais cela ne fonctionne pas, pourriez-vous me dire ce qui ne vas pas?

    Merci d'avance pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Points : 550
    Points
    550
    Par défaut
    Oulà...
    1- la récupération des variables dans l'URL se récupère via $_GET
    2- le séparateur de varaibles GET est un & et non pas un ;



    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if ( !isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) 
        || ($_GET['user'] != "toto" )     || ($_GET['mdp'] != "123") ) 
    {    header('WWW-Authenticate: Basic realm="Authentifiez vous"');
       header('HTTP/1.0 401 Unauthorized');
       echo 'Acces non autorisé';
       exit;
    }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    J'ai utilisé votre code, et réécrit le lien de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.siteB.fr/index.php?user=toto&mdp=1234
    Mais la page d'authentification s'affiche toujours.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Points : 550
    Points
    550
    Par défaut
    Et en enlevant les autres éléments de la condition ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (($_GET['user'] != "toto" ) or ($_GET['mdp'] != "123"))
    { header('WWW-Authenticate: Basic realm="Authentifiez vous"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Acces non autorisé';
    exit;
    } else { die('Authentification réussie');
    }

    PS: le mot de passe ici est 123 et non 1234

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    Alors en utilisant le dernier code indiqué, ça ne marche pas non plus, même lorsque je saisis manuelement les identifiants.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Points : 550
    Points
    550
    Par défaut
    En allant directement sur
    http://www.siteB.fr/index.php?user=toto&mdp=123

    ??

    Sinon faites un echo $_GET['user'].":".$_GET['mdp'] pour voir les valeurs...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    Autant pour moi ça fonctionne. Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Lien hypertexte dans un mail envoyé automatiquement par code vba
    Par thomasdu40 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/11/2012, 17h11
  2. Réponses: 3
    Dernier message: 20/02/2009, 14h48
  3. [LDAP] Authentification automatique LDAP
    Par Gogus dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 19/12/2005, 14h37
  4. Ouvrir un fichier Excel par lien Hypertexte
    Par illight dans le forum Access
    Réponses: 4
    Dernier message: 27/10/2005, 15h42
  5. Outil pour vérification automatique des liens
    Par zazaraignée dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/01/2005, 20h00

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