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 :

Exécuter une requète HTTP (file_get_contents)


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 35
    Par défaut Exécuter une requète HTTP (file_get_contents)
    Bonjour,

    Je désire me connecter automatiquement à un compte membre de site internet depuis une page web en php.
    En clair: J'appelle la page de connexion en lui envoyant les paramètres POST mes paramètres et le script gère le reste.
    Je ne sais pas si c'est bien compréhensible mais après pas mal de recherches

    La page "test.php" est une page différente de celle où se trouve ce code (située à terme sur un autre serveur).
    C'est une page d'identification tout se qu'il y a de plus banal: Un formulaire, quand on le valide si les identifiants entré sont bons on va créer une session ($_SESSION['test']=1 ici pour simplifier) et on affiche le message "Vous ètes connecté" à la place du formulaire.

    J'ai donc fait le test en entrant le identifiant dans la formulaire: Pas de soucis, la session est créée et reste bien enregistrée, le formulaire n'apparait plus.
    Appel de test.php depuis mon script: $content renvois bien "Vous êtes connecté" mais si on retourne sur cette page en entrant l'adresse dans la barre d'adresse du navigateur, ou si on va sur test.php on est plus connecté (affichage du formulaire).

    Je ne sais pas si je m'y prend correctement mais ça m'avait l'air plutôt pas mal au départ.
    J'ai vu qu'on pouvait utiliser d'autres bibliothèques tel que cURL ou PEAR, mais j'aimerais, si possible, rester dans quelque chose qui est de base sur PHP (pas besoin d'installation des bibliothèques).

    Merci

  2. #2
    Membre éprouvé
    Inscrit en
    Juin 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Juin 2009
    Messages : 104
    Par défaut
    hello,

    http://127.0.0.1/testConnexion/test.php
    on va donc "ailleurs" ?
    si oui, il est normal que la session "ICI" ne soit pas reconnue "LA-BAS", et inversement.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 35
    Par défaut
    Merci de t'intéresser à mon problème cholopat.

    En effet, les deux scripts se trouvent bien sur une page différente, je pensais qu'étant donné que je créais quand même la session sur la page test.php ça ne poserais pas de problèmes mais visiblement si.

    Alors si vous avez des idées sur comment m'y prendre je veux bien. Pour faire simple j'ai 2 sites différents, sur des serveurs différents, et j'aimerais que les comptes utilisateurs soient liés. Pour ça, j'utilise la même base de données.

    Mon problème survient pour passer d'un site à l'autre:
    Je me connecte sur le site 1. J'ai la session de créer et je peux naviguer. Sur la droite, dans mon espace utilisateur se trouve un lien permettant de passer au site 2. Lorsque l'utilisateur clique dessus je souhaite donc m'affranchir de la page d'authentification du site 2: Le site 1 tente de s'y connecter pour l'utilisateur. En fonction du retour qu'il a deux solutions:
    - La connexion n'a pas réussi pour une raison x ou y, dans quel cas je reste sur le site 1.
    - La connexion a été un succès, je redirige l'utilisateur vers le site 2 et il y est connecté.

    Seulement, ça n'a pas l'air de fonctionner comme ça puisque lorsque j'accède ensuite au site 2, la connexion n'a pas été maintenue.

    J'avoue que là c'est assez flou pour moi, je souhaite que tout ce processus soit invisible aux yeux de l'utilisateur.

    Encore merci.

  4. #4
    Membre éprouvé
    Inscrit en
    Juin 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Juin 2009
    Messages : 104
    Par défaut
    - La connexion a été un succès, je redirige l'utilisateur vers le site 2 et il y est connecté.
    non, il n'y est pas encore connecté.

    parce que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $content = http_post('http://127.0.0.1/testConnexion/test.php', array('login' => 'testLogin', 'mdp' => 'testMdp'));
    le navigateur n'est pas passé par le site2, c'est coté serveur que cela s'est passé, donc pas de SESSION

    Par contre, vu qu'il y a un test positif : "La connexion a été un succès"
    libre à toi de le diriger vers le site 2 avec un paramètre particulier, mais masqué, qui exécutera sur le Site 2 la validation souhaitée et activera la SESSION.

  5. #5
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 35
    Par défaut
    Bonjour,

    Dans ce cas là j'ai une petite question. Je veux envoyer les paramètres en POST, ce n'est pas spécialement très sécurisé mais c'est toujours mieux que de les passer en GET. Pour la redirection j'utilise habituellement header('Location:XXX'), seulement pas sûr qu'on puisse y passer quelque chose en POST.

    Le seul moyen que je vois actuellement est de mettre mes paramètres dans des champs HIDDEN et de faire un submit() (vers le site 2) en Javascript.

    Y a-t-il d'autres solutions?

    Merci

Discussions similaires

  1. Exécuter une requête non-query
    Par Piet dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 07/02/2007, 15h01
  2. Parser une requête HTTP/GET en c ! regex ?
    Par canard75 dans le forum C
    Réponses: 14
    Dernier message: 06/12/2005, 10h08
  3. Comment exécuter une requête rapidement
    Par kardevlop dans le forum Bases de données
    Réponses: 2
    Dernier message: 18/10/2005, 13h45
  4. [HTTP]Créer une requête http multipart/related
    Par jothi35 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/04/2005, 15h32

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