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 :

Perte de session sous IIS


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 23
    Par défaut Perte de session sous IIS
    Bonjour, voici mon problème. Je viens de développer un site utilisant des sessions php. Il a été développé en local sur ma machine (apache2). Je viens de le tester sur notre serveur IIS, en interne pas de soucis (http://192.168.x.x), tout focntionne correctement.

    Dés que j'essaie d'y accéder par l' extérieur, je me loggue et dés que je clique sur un lien différent de la page d'accueil je perd mes variables de session.

    En vérifiant dans le répertoire des sessions de php je me suis rendu compte qu'il me créait un fichier sess_xxxxxxx a chaque page chargée. Il ne garde donc pas la session originale.

    Ca me le fait qu'en appel de l'extérieur, pas en intranet et ce, sur le même serveur avec la même config. Toutes les sources php commencent par session_start je le présice.

    Si quelqu'un a une idée merci de m'aider car là j'avoue que je ne sais plus trop quoi faire.

    Merci d'avance

  2. #2
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    Pourrais tu nous indiquer la version de ton serveur IIS et le système d'exploitation qui l'héberge

    MErci

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 23
    Par défaut
    Bon, j'en sais un peu plus.

    En fait cela arrive si le client désactive les cookies sur son navigateur. En fait, quand je me connectais en extérieur chez un client, je passais directement par leur serveur qui a une connectivité limitée au niveau d'IE par rapport à un poste client.

    Ce que je ne comprend pas c'est que normalement le cookie de session doit être positionné sur le serveur et pas sur le client, donc l'activation des cookies sur le navigateur du client ne doit pas impacter mon site normalement. ?????

    Sinon, y a t'il moyen de faire autrement au niveau gestion des sessions ?

    voici mon php.ini:
    -session.save_handler = files
    -session.save_path = D:\Internet\WWW\SESSIONS
    -session.use_cookies = 1
    -session.name = PHPSESSID
    -session.auto_start = 0
    -session.cookie_path = /
    -session.cookie_domain =
    -session.serialize_handler = php
    -session.gc_maxlifetime = 1440
    -session.cache_expire = 180
    -session.cache_limiter = nocache
    -session.use_trans_sid = 0

    D'ailleurs, ce que je ne comprend pas, en local (apache2) sur ma becane ça fonctionne correctement même si les cookies sont refusés.

    Merci par avance

  4. #4
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    Ce que je ne comprend pas c'est que normalement le cookie de session doit être positionné sur le serveur et pas sur le client, donc l'activation des cookies sur le navigateur du client ne doit pas impacter mon site normalement. ?????
    Non cela n'est pas juste, les cookies sont stockées sur le poste client, par contre les fichiers de sessions sont sur le serveur.

    Par contre, si tu veux te passer des cookies pour faire fonctionner les sessions, il faut que tu passes à chaque fois les session_id dans l'url de ta page.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 23
    Par défaut
    OK merci pour l'info.

    Je viens de faire d'autres tests, apparemment meme en confidentialité moyenne ca passe pas, il faut carrément mettre "accepter tous les cookies sur le navigateur du client.

    Mon serveur IIS posséde plusieurs sites, ça ne le fait pas sur les autres sites : ex, si je copie mon répertoire de ce site dans le rep du site1, ça fonctionne correctement, pas de perte de session. Je me dis qu'il y a un problème de paramétrage IIS quelque part, mais ou ?
    De plus ils utilisent le meme php.ini avec la meme version de php (4.3.10)

    La je comprend plus

  6. #6
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Bonjour

    Regarde la faq : http://php.developpez.com/faq/index....ons_confphpini

    Citation Envoyé par faq et manuel php
    session.use_cookies boolean
    Spécifie si le module utilisera les cookies pour stocker les données de session sur le client. Par défaut, il vaut 1, c'est-à-dire actif.

    session.use_only_cookies boolean
    Spécifie si le module doit utiliser seulement les cookies pour stocker les identifiants de sessions du côté du navigateur. En l'activant, vous éviterez les attaques qui utilisent des identifiants de sessions dans les URL. Cette configuration a été ajoutée en PHP 4.3.0. Par défaut, vaut 1 (activé) depuis PHP 6.0.

    session.use_trans_sid boolean
    Spécifie si le support du SID est transparent ou pas. Par défaut vaut 0 (désactivé).

    Note: En PHP 4.1.2 ou plus ancien, cette option est activée en utilisant l'option de compilation --enable-trans-sid. Depuis PHP 4.2.0, cette option est toujours activée. Le système de gestion des sessions par URL pose un risque supplémentaire de sécurité : un utilisateur peut envoyer son URL avec l'identifiant de session par email à un ami, ou bien le mettre dans ses signets. Cela diffusera alors l'identifiant de session.
    http://fr.php.net/manual/fr/session.configuration.php

    Si les cookies sont désactivés il n'y a plus de passage de l'identifiant de session d'une page à l'autre puisque session.use_trans_sid vaut 0 ; essaye de le mettre à 1 pour voir si cela fonctionne.

    Par contre pour la différence entre les différents sites sur le même serveur, aucune idée, il faut peut être demander sur le forum spécifique à IIS ?

Discussions similaires

  1. Timeout et perte des sessions sous IIS
    Par MartinMcFly dans le forum IIS
    Réponses: 2
    Dernier message: 29/03/2014, 14h28
  2. perte de session sous ie6
    Par jaja00 dans le forum Langage
    Réponses: 4
    Dernier message: 13/06/2007, 12h56
  3. Perte de session sous certains PC
    Par hansaplast dans le forum Langage
    Réponses: 4
    Dernier message: 03/11/2006, 16h22
  4. [Cookies] Perte de session sous IE
    Par Hayabusa dans le forum Langage
    Réponses: 5
    Dernier message: 31/10/2006, 23h54
  5. [navigateur]Problême de pertes de sessions sous IE (.js)
    Par Invité4 dans le forum Général JavaScript
    Réponses: 26
    Dernier message: 21/11/2005, 17h53

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