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 :

passer une session dans un readfile


Sujet :

Langage PHP

  1. #1
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut passer une session dans un readfile
    Bonjour,

    J'ai besoin de lire le resultat d'un fichier php qui utilise des sessions.

    Pour prendre le cas simple, ce fichier va contenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    session_start('test');
    echo session_id();
    ?>
    Si je l'appelle par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    readfile('http://monsite/fichier.php');
    il ne recupere pas la session en cours.

    Quand j'essaie de lui passer la session
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    readfile('http://monsite/fichier.php?PHPSESSID=' . session_id());
    Apache ne repond plus et je tombe sur un timeout au bout de 60s.

    Si je lui passe autre chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    readfile('http://monsite/fichier.php?toto=' . session_id());
    Ca repond bien mais je n'ai evidemment pas la session.

    J'ai essayé avec fopen, et Curl et j'obtiens le même résultat.

    N'y a t'il pas moyen de faire cela ?

  2. #2
    Membre averti Avatar de sacricri
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 384
    Points
    384
    Par défaut
    Je ne suis pas sur de comprendre ce que tu veux faire mais avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include('fichier.php?toto='.session_id())

  3. #3
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Qui appelle la page qui doit lire l'autre ?

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Est-ce sur le même serveur ? Si non, l'identifiant n'est théoriquement pas valide.

    Tout dépend ensuite de la configuration du serveur distant, existant deux méthodes de propagation d'un identifiant de session : les cookies et/ou par trans_sid (valable en GET comme en POST - mais c'est une fois de plus paramétrable : session.url_rewriter_tags).

    Mais la transmission de l'identifiant par cookie, que ce soit avec cURL ou avec PHP (via allow_url_fopen) ne devrait pas poser de souci tant que l'on précise cet entête. Pour pouvoir le faire avec PHP, une version 5 est absolument nécessaire pour pouvoir redéfinir le contexte HTTP de façon à redéfinir les entêtes.

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Merci pour vos reponses.

    Je ne peux pas faire un include car le script que je lis retourne en fait une image dynamique.

    On est bien sur le meme serveur et meme dans le meme dossier.
    Dans le fonctionnement normal, l'id est bien transmis par trans-id mais donc quand je le force en GET à travers mon readfile() ... ca ne répond pas.
    Le symptome a été le meme sur un serveur linux et sur un serveur windows.

Discussions similaires

  1. passer variable session dans une requete
    Par mghari11 dans le forum JDBC
    Réponses: 1
    Dernier message: 18/06/2008, 23h18
  2. [VBA]Passer une variable dans une formule Excel
    Par David1974 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/01/2006, 16h52
  3. [Session]Récupération d'une session dans une servlet
    Par frizby dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 18/11/2005, 17h02
  4. [Struts] Passer une variable dans l'url
    Par pilz dans le forum Struts 1
    Réponses: 2
    Dernier message: 30/03/2005, 15h23
  5. [Avancé] Recopie une session dans un autre client
    Par gregoun dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 29/06/2004, 12h11

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