Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1708 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  PHP et les variables de session Probleme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP et les variables de session Probleme

n°1433163
DavidCmoi9​2
Posté le 29-08-2006 à 16:20:53  profilanswer
 

Bonjour a vous,
 
Voila j'utilise apache et php jusqu'a la tout ba bien ... :)
Hormis l'utilisation des variable de session, je m'explique
########################## code utilise sur page 1 #####################
<?php session_start(); ?>
<?
//session_cache_limiter(public);
echo session_id();
$_SESSION["reference"] = "toto";
echo $_SESSION['reference'];
?>  
/////////////////////////////////////////  redirection ////////////////////////////////////////////
/////////////////////////////////////// $vu est gerer par une autre partie du code ///////////
if ($vu == 0) {
;$meta = "<META http-equiv='Refresh' content='7;URL=index.php'>";
$message = "Il semble que vos logins et mot de passe ne soient pas corrects";
}
if ($vu == 1) {
;$meta = "<META http-equiv='Refresh' content='2;URL=../_PagesMembresIndex.php'>";
$message = "Connection en cours...";
}
################################################################
En arrivant sur cette page tout va bien mon numero de session s'affiche ainsi que "toto", de cette page je fais une redirection 'meta refresh", vers page2 alors la ca se complique.
 
c'est la ou rien ne va plus ...  
########################## code utilise sur page 2 #####################
<?php session_start(); ?>
<?
echo session_id();
$titi = $_SESSION['reference'];
echo $titi
?>
################################################################
j obtiens un nouveau ID session et bien entendu je ne retrouve pas toto ....
 
Alors si vous pouviez ...
pour info j'ai teste en href pour evite le meta refresh pareil ....  
 
J'attends vos reponses :)

mood
Publicité
Posté le 29-08-2006 à 16:20:53  profilanswer
 

n°1433323
betsamee
Asterisk Zeperyl
Posté le 29-08-2006 à 18:51:12  profilanswer
 

et si tu affecte un nom a ta session avec session_name() ca aide pas?

n°1433337
DavidCmoi9​2
Posté le 29-08-2006 à 19:16:46  profilanswer
 

Pour te dire non  
Page 1
session_name ("WebsiteID" );
$_SESSION["reference"] = "toto";
Pages 2
session_name ("WebsiteID" );
echo session_name();
echo  $_SESSION['reference'];
 
Resultat identique en revanche si je passe par url avec .strip_tags(SID). cela fontionne, mais cette methode ne m'interesse pas car je ne la trouve pas tres securisée ... car ID peut etre copier d'une station a l'autre et la hop ca me stress ...  :) Merci bonne iniative de ta part. Par contre si je me suis trompe quelque part n'hesite pas a me le dire.


Message édité par DavidCmoi92 le 29-08-2006 à 19:17:20
n°1433372
DavidCmoi9​2
Posté le 29-08-2006 à 20:46:32  profilanswer
 

C'est vraiement urgent les gars si quelqu un peut prendre qq minutes de son temps pour m'aider.

n°1433382
FMC
Posté le 29-08-2006 à 20:58:06  profilanswer
 

Je vois pas du tout en quoi ça peut poser problème, est-ce que ta session se créé dans le même répertoire que le fichier suivant ou dans un répertoire parent ?

n°1433393
Dj YeLL
$question = $to_be || !$to_be;
Posté le 29-08-2006 à 21:11:35  profilanswer
 

Tu pourrais mettre ton code entre balises ?


---------------
Gamertag: CoteBlack YeLL
n°1433432
DavidCmoi9​2
Posté le 29-08-2006 à 22:09:31  profilanswer
 

Response pour FMC
oui ma sessions se creer bien sur /var/www/sessions/  
en sachant que mon site est stocke sur /var/www/
 
Response pour Dj YeLL
Heuu dans le post, ou tu me parles dans le code, si tu parles du code rassure toi celui ci est bien sous ref <?php  ?>.  
 
la seul soulution que je reconfirme est celle en passant le PHPSESSID dans url.
Sinon comme je l'ai explique, chaque page regenere une session ID. Lorsque je consulte le fichier session 'nano /var/www/XXXXXXXXXX' je retrouve bien mais variable dedans.
 
Mais bon un copier coller et je me retrouve multisession ... pas trop pour moi.

Message cité 1 fois
Message édité par DavidCmoi92 le 29-08-2006 à 22:10:54
n°1433437
FMC
Posté le 29-08-2006 à 22:28:22  profilanswer
 

Essaie d'attribuer ta session à la racine.

n°1433441
DavidCmoi9​2
Posté le 29-08-2006 à 22:47:10  profilanswer
 

Pareil pour les sessions a la racine ...  
vous croyez que ca viens du php.ini ?


Message édité par DavidCmoi92 le 29-08-2006 à 22:54:24
n°1433445
FMC
Posté le 29-08-2006 à 22:54:52  profilanswer
 

Pourrait-on voir le code complet de tes 2 pages ?

mood
Publicité
Posté le 29-08-2006 à 22:54:52  profilanswer
 

n°1433446
DavidCmoi9​2
Posté le 29-08-2006 à 23:00:43  profilanswer
 

page 1
-----------------------------------------------------------
<?php session_start(); ?>
<?
$login   =  $_POST["login"];
$mdp  =  $_POST["mdp"];
$vu   = 0;
 
$_SESSION["reference"]    = "toto";  //sample
echo session_name();            //sample
echo session_id();             //sample
include("__Include/CXINSCRIPTION.php" );
$query   = "SELECT * FROM `inscription`";
$result  = mysql_query($query);
while ($val=mysql_fetch_array($result)){
if (($login == $val["login"]) and ($mdp == $val["mdp"])){
$vu   =  1;
//$_SESSION["reference"]    = $val["reference"];
$_SESSION["email"]     = $val["e-mail"];
$_SESSION["nom"]     = $val["nom"];
$_SESSION["prenom"]    = $val["prenom"];
$_SESSION["adresse"]    = $val["login"];
$_SESSION["cp"]     = $val["code_postal"];
$_SESSION["ville"]     = $val["ville"];
 
}}
if ($vu == 0) {
$meta = "<META http-equiv='Refresh' content='7;URL=index.php?'".strip_tags(SID)."'>";
$message = "Il semblerait que vos logins et mot de passe ne soient pas corrects";
}
if ($vu == 1) {
$meta = "<META http-equiv='Refresh' content='7;URL=_PagesMembresIndex.php'>";
//$meta = "<META http-equiv='Refresh' content='7;URL=_PagesMembresIndex.php?".strip_tags(SID)."'>";
$message = "Connection en cours...";
}
 
?>
reste du code html.
------------------------------ fin page 1
 
Page 2
-------------------------------------------------------------------
<?php session_start(); ?>
<?
echo  $_SESSION['reference']; //sample
echo session_id(); //sample
?>
 
code html
 
          <tr>
            <th class="style3" scope="row"><div align="left">  </div></th>
            <td>&nbsp;</td>
            <td class="style4"><div align="left"><? echo  $_SESSION['email']; ?></div></td>
          </tr>
 
----------------------  fin page 2
 
 
 
 
 
 
 
type de session creer sur le serveur sess_XXXXXXXXXXXXXXXXXXXXXXXXXX


Message édité par DavidCmoi92 le 29-08-2006 à 23:02:32
n°1433505
DavidCmoi9​2
Posté le 30-08-2006 à 09:13:11  profilanswer
 

Dois je me resigner a utiliser id dans URL ?

n°1433553
Djebel1
Nul professionnel
Posté le 30-08-2006 à 10:03:33  profilanswer
 

J'ai pas regardé ton code donc je suis peut-être à côté de la plaque, mais ton navigateur accepte-t-il les cookies pour le domaine de ton site ?
Parce que ça expliquerait un peu tous tes problèmes :D
 
Fais une pauv' page qui te balance un cookie, et vérifie que ton navigateur l'a accepté.

n°1433580
chani_t
From Dune
Posté le 30-08-2006 à 10:39:07  profilanswer
 

pourquoi tu ouvre ta balise php et tu la referme juste aprés ton session_start() ? ça ne sert à rien !
 
Tu l'ouvre en début de code php, et tu la referme à la fin... m'enfin c'est ce que je fais et les sessions fonctionnent trés bien .. même sans acceptation des cookies..

n°1433586
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-08-2006 à 10:47:51  profilanswer
 

chani_t a écrit :

pourquoi tu ouvre ta balise php et tu la referme juste aprés ton session_start() ? ça ne sert à rien !
 
Tu l'ouvre en début de code php, et tu la referme à la fin... m'enfin c'est ce que je fais et les sessions fonctionnent trés bien .. même sans acceptation des cookies..


 
Les sessions ne peuvent pas fonctionner sans cookies, à moins d'avoir la réécriture activée, dans ce cas Php ajoute tout seul ?PHPSESSIS=xxxxxxxxxxxx derrière tous les liens


---------------
Gamertag: CoteBlack YeLL
n°1433594
Djebel1
Nul professionnel
Posté le 30-08-2006 à 11:04:18  profilanswer
 

chani_t a écrit :

les sessions fonctionnent trés bien .. même sans acceptation des cookies..


si tu acceptes pas les cookies, le SID passe par url, ce que ne veut pas la personne qui a ouvert ce post ...

n°1433650
FMC
Posté le 30-08-2006 à 12:54:21  profilanswer
 

Le passage du SID en url n'est pas super pour le référencement, mieux vaut obliger les utilisateurs à utiliser les cookies. Généralement les cookies de sessions ne sont pas bloqués même si un niveau de sécurité minimum est activé.
 
Et un petit conseil, ton test de mot de passe et login n'est pas "Case Sensitive" et mieux vaut crypter les mots de passe de tes utilisateurs, mais je m'éloigne du sujet.

n°1434013
DavidCmoi9​2
Posté le 30-08-2006 à 22:26:38  profilanswer
 

chani_t a écrit :

pourquoi tu ouvre ta balise php et tu la referme juste aprés ton session_start() ? ça ne sert à rien !
 
Tu l'ouvre en début de code php, et tu la referme à la fin... m'enfin c'est ce que je fais et les sessions fonctionnent trés bien .. même sans acceptation des cookies..


 
Pour la balise d'entree je ne sais pas un coup de fatigue certainement et puis comme ca elle est là.
... certainement que les sessions fonctionne mais en passge dans URL ? non ?
Si non je veux bien ta conf php.ini et meme apache.conf qui sait.
 
Merci

n°1434014
DavidCmoi9​2
Posté le 30-08-2006 à 22:27:45  profilanswer
 

Djebel1 a écrit :

si tu acceptes pas les cookies, le SID passe par url, ce que ne veut pas la personne qui a ouvert ce post ...


certains suivent ... Merci a eux

n°1434017
DavidCmoi9​2
Posté le 30-08-2006 à 22:28:55  profilanswer
 

FMC a écrit :

Le passage du SID en url n'est pas super pour le référencement, mieux vaut obliger les utilisateurs à utiliser les cookies. Généralement les cookies de sessions ne sont pas bloqués même si un niveau de sécurité minimum est activé.
 
Et un petit conseil, ton test de mot de passe et login n'est pas "Case Sensitive" et mieux vaut crypter les mots de passe de tes utilisateurs, mais je m'éloigne du sujet.


 
Merci pour tes tuyaux mais c'est la mission pour la fin ca ... :) Mais agréable de recevoir de bons commentaires et conseils.

n°1434019
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-08-2006 à 22:29:57  profilanswer
 

D'ailleurs pour rebondir sur le session id passé en param d'url, c'est dangereux, et il vaut mieux le desactiver, au risque d'avoir des usurpation de session


---------------
Gamertag: CoteBlack YeLL
n°1434020
DavidCmoi9​2
Posté le 30-08-2006 à 22:30:03  profilanswer
 

FMC a écrit :

Le passage du SID en url n'est pas super pour le référencement, mieux vaut obliger les utilisateurs à utiliser les cookies. Généralement les cookies de sessions ne sont pas bloqués même si un niveau de sécurité minimum est activé.
 
Et un petit conseil, ton test de mot de passe et login n'est pas "Case Sensitive" et mieux vaut crypter les mots de passe de tes utilisateurs, mais je m'éloigne du sujet.


 
Tiens j'ai note cela pourquoi me faire pointer le doigt sur le reference, j'avoue ne pas comprendre.

n°1434023
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-08-2006 à 22:33:19  profilanswer
 

DavidCmoi92 a écrit :

Response pour FMC
oui ma sessions se creer bien sur /var/www/sessions/  
en sachant que mon site est stocke sur /var/www/
 
Response pour Dj YeLL
Heuu dans le post, ou tu me parles dans le code, si tu parles du code rassure toi celui ci est bien sous ref <?php  ?>.  

la seul soulution que je reconfirme est celle en passant le PHPSESSID dans url.
Sinon comme je l'ai explique, chaque page regenere une session ID. Lorsque je consulte le fichier session 'nano /var/www/XXXXXXXXXX' je retrouve bien mais variable dedans.
 
Mais bon un copier coller et je me retrouve multisession ... pas trop pour moi.


 
Ah tiens j'avais pas vu que tu m'avais répondu :D
 
Non je parlais du forum, encore ton code des balises [code = php] et [/ code] (sans les espaces), ça sera plus lisible :)


---------------
Gamertag: CoteBlack YeLL
n°1434072
Djebel1
Nul professionnel
Posté le 31-08-2006 à 05:21:33  profilanswer
 

et au final, c'était un problème de cookie alors ?

n°1434164
FMC
Posté le 31-08-2006 à 11:13:25  profilanswer
 

DavidCmoi92 a écrit :

Tiens j'ai note cela pourquoi me faire pointer le doigt sur le reference, j'avoue ne pas comprendre.


Parce que le référencement c'est quelque chose d'important pour tout site ;) !
 
 
Au niveau des sessions, il faut inclure des paramètres de vérification supplémentaires pour éviter l'usurpation par passage en URL. Moi par exemple, je créé une variable session contenant l'IP au moment du login, ainsi qu'une heure limite de session. Cette heure se met à jour à chaque rafraichissement de page. Et à chaque page je vérifie que la session n'a pas expiré et que l'IP n'a pas changé.

n°1434292
DavidCmoi9​2
Posté le 31-08-2006 à 14:58:14  profilanswer
 

Humm pas mal et porquoi pas, en revanche je ne comprends pas toujours pourquoi IDSESSION va me derranger pour mon reference.

n°1434420
FMC
Posté le 31-08-2006 à 16:30:38  profilanswer
 

Parce que Google n'aime pas ça :p ! Tout simplement ! En fait, Google n'aime pas trop les variables dans les URLs, il vaut mieux faire de l'URL Rewriting, mais ça c'est pour un autre forum ;) !

n°1434980
DavidCmoi9​2
Posté le 01-09-2006 à 11:37:29  profilanswer
 

FMC a écrit :

Parce que Google n'aime pas ça :p ! Tout simplement ! En fait, Google n'aime pas trop les variables dans les URLs, il vaut mieux faire de l'URL Rewriting, mais ça c'est pour un autre forum ;) !


 
Merci pour les infos.

n°1434984
Dj YeLL
$question = $to_be || !$to_be;
Posté le 01-09-2006 à 11:39:32  profilanswer
 

Google gère assez bien jusqu'à 2 params seulement, il me semble.
 
Et l'autre pb aussi, c'est que pour certains bot réferenceurs, index.php?PHPSESSID=015161d65e465f654a654d654ec c'est pas la même page que index.php?PHPSESSID=5d6a846d4818e416d81c46a8
 
etc...


---------------
Gamertag: CoteBlack YeLL
n°1434992
FMC
Posté le 01-09-2006 à 11:44:38  profilanswer
 

Oui, et du coup si le moteur (en particulier Google), à l'impression que tu fais des doublons de tes pages sous différents noms il va moins t'aimer et plus facilement kicker tes pages.

n°1435311
Djebel1
Nul professionnel
Posté le 01-09-2006 à 18:00:15  profilanswer
 

par contre, je me rappelle d'un post où le gars expliquait qu'avec le passage de SID par url, ses pages se retrouvaient indexées sur msn search AVEC le SID, et que quand on suivait les liens, on pouvait parfois se connecter sur le compte d'un utilisateur actuellement log.
Et je n'arrive plus à me rappeler quelle en était la raison (ce n'était pas "simplement" parce que le SID référencé était utilisé au moment où tu cliquais sur le lien, parce que les chances que ça arrive ça ...).
Quelqu'un se souvient de ce post ?

n°1435336
Dj YeLL
$question = $to_be || !$to_be;
Posté le 01-09-2006 à 18:59:17  profilanswer
 

Djebel1 a écrit :

par contre, je me rappelle d'un post où le gars expliquait qu'avec le passage de SID par url, ses pages se retrouvaient indexées sur msn search AVEC le SID, et que quand on suivait les liens, on pouvait parfois se connecter sur le compte d'un utilisateur actuellement log.
Et je n'arrive plus à me rappeler quelle en était la raison (ce n'était pas "simplement" parce que le SID référencé était utilisé au moment où tu cliquais sur le lien, parce que les chances que ça arrive ça ...).
Quelqu'un se souvient de ce post ?


 
Voilà la raison :
 
Admettons que tu es sous MSN Search, que tu as http://un.site.com/index.php?PHPSESSID=12345 (j'abrege hein :D )
 
Tu cliques sur ce lien, et tu tombe sur le site, ton SID est donc 12345 ... il ne sert à rien pour le moment, et on s'en fiche... mais tu te créés un comptes, et tu te connectes, tu as donc tjs le SID 12345.
 
5 minutes après, quelqu'un tombe sur le même lien sur MSN Search ... il clique, il se passe quoi si le site n'a pas de protection ? Et bien il récupère la session 12345.
 
Donc si vous utilisez l'ecriture automatique, TOUJOURS penser à regénérer le session_id AVANT de logguer la personne.


---------------
Gamertag: CoteBlack YeLL
n°1435483
Djebel1
Nul professionnel
Posté le 02-09-2006 à 01:14:20  profilanswer
 

ouais mais le truc, c'était surtout qu'avec les liens sur msn search, tu te retrouvais connecté avec un compte, le lendemain avec un autre, le surlendemain avec aucun (tout ça pour la même adresse sur msn search).
 
Donc c'était pas une histoire de 5mn, et la probabilité qu'avec un même  
SID,  on puisse retomber plusieurs fois sur un SID actuellement utilisé, me paraît ben faible. Au final, il y avait une autre explication, mais je retrouve plus le post.

n°1435513
Dj YeLL
$question = $to_be || !$to_be;
Posté le 02-09-2006 à 10:16:28  profilanswer
 

Ben ça dépend combien de temps le serveur garde les fichiers de session je suppose


---------------
Gamertag: CoteBlack YeLL
n°1435812
Djebel1
Nul professionnel
Posté le 03-09-2006 à 02:07:50  profilanswer
 

oui mais non le problème, c'est surtout la probabilité de tomber sur un SID  utilisé par différents utilisateurs à différents moments. Je me souviens clairement que ce n'était pas ça le problème, mais je ne me souviens plus ce que c'était :p

n°1435835
Dj YeLL
$question = $to_be || !$to_be;
Posté le 03-09-2006 à 10:59:24  profilanswer
 

Ah, j'ai des doutes là ... mais bon, si jamais tu le retrouve, ça m'interesse :jap:


---------------
Gamertag: CoteBlack YeLL
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  PHP et les variables de session Probleme

 

Sujets relatifs
Probleme de compilation avec GNATProbleme de lecture d'objet[RESOLU]
Variables et incrementation => Vous trouvez ca normale ?Probleme d'affichage avec firefox
Problème avec VB 6![javascript/html/php]Problème Tableau html / Back IE
problème : méthode Cells de l'objet global a échouéPHP et Shopify ?
Probleme connexion BD free[PHP]Problème avec les variables de session
Plus de sujets relatifs à : PHP et les variables de session Probleme


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR