Accueil > Forum > > > > problemes de séssion
problemes de séssion
samedi 19 novembre 2005 à 18:44:11 |
problemes de séssion

pekplusultra
|
helo, toujours plus haut toujours plus fort, jai crée un petit site en local qui fonctionne nikel mais sur le net apparait un gros bug. je mexplique: je midentifie en tant qu'utilisateur et lorsque je clique sur un lien pour visiter une fiche d'une autre personne la session change automatiquement. C'est a dire que je suis connecté avec le pseudo de l'autre personne et qui de mieux je peux changer la moitié de ces informations. j'utilise easyphp version 1.8.01 et la version de php de mon serveur et la 5.0.4 Vous avez une ptite idée please?
|
|
samedi 19 novembre 2005 à 22:09:31 |
Re : problemes de séssion
|
dimanche 20 novembre 2005 à 11:39:22 |
Re : problemes de séssion

pekplusultra
|
Code de la page index:<?php require_once('connexion.php'); ?> <?php
session_start();
if (isset($_POST['login'])){ $login = addslashes($_POST['login']); $pass = addslashes(md5($_POST['pass'])); mysql_select_db($database_dbprotect, $dbprotect); $verif_query=sprintf("SELECT * FROM utilisateurs WHERE login='$login' AND pass='$pass'"); $verif = mysql_query($verif_query, $dbprotect) or die(mysql_error()); $row_verif = mysql_fetch_assoc($verif); $utilisateur = mysql_num_rows($verif);
if ($utilisateur) { // On test s'il y a un utilisateur correspondant session_register("authentification"); // enregistrement de la session // déclaration des variables de session $_SESSION['privilege'] = $row_verif['privilege']; // le privilège de l'utilisateur (permet de définir des niveaux d'utilisateur) $_SESSION['nom'] = $row_verif['nom']; // Son nom $_SESSION['prenom'] = $row_verif['prenom']; // Son Prénom $_SESSION['login'] = $row_verif['login']; // Son Login $_SESSION['pass'] = $row_verif['pass']; // Son mot de passe (à éviter) header("Location:accueil.php"); // redirection si OK } else { header("Location:index.php?erreur=login"); // redirection si utilisateur non reconnu } }
// Gestion de la déconnexion if(isset($_GET['erreur']) && $_GET['erreur'] == 'logout'){ // Test sur les paramètres d'URL qui permettront d'identifier un contexte de déconnexion $prenom = $_SESSION['prenom']; // On garde le prénom en variable pour dire au revoir (soyons polis :-) session_unset("authentification"); header("Location:index.php?erreur=delog&prenom=$prenom"); } ?>Code de la page accueil
<?php require_once('connexion.php'); session_start(); if (session_is_registered("authentification")){$login = $_SESSION['login']; } else { header("Location:index.php?erreur=intru"); }
$login = $_SESSION['login']; mysql_select_db($database_dbprotect, $dbprotect); $query_users = "SELECT login, prenom, age, sexe FROM utilisateurs ORDER BY id_user DESC"; $users = mysql_query($query_users, $dbprotect) or die(mysql_error()); $row_users = mysql_fetch_assoc($users); $cpt = 5; ?>appel de la page visualisation :: <a href="visualisation.php?login=<?php echo $login;?>" class="bleuxs"> Code de la page visualisation:<?php session_start(); if (session_is_registered("authentification")){ } else { header("Location:index.php?erreur=intru"); }
require_once('connexion.php'); $login = $_GET['login']; mysql_select_db($database_dbprotect,$dbprotect); $requete = ("SELECT etat, personnalite, taille, poid, aime, aimepas, prenom, ville, celibataire, age, admsn, cacher FROM utilisateurs WHERE login='$login'"); $query = mysql_query($requete,$dbprotect) or die (mysql_error()); $tab = mysql_fetch_array($query); $etat = $tab[0]; $personnalite = $tab[1]; $taille = $tab[2]; $poid = $tab[3]; $aime = $tab[4]; $aimepas = $tab[5]; $prenom = $tab[6]; $ville = $tab[7]; $celibataire = $tab[8]; $age = $tab[9]; $admsn = $tab[10]; $cacher = $tab[11]; ?>
Mais je pense pas que ca vienne de mon code, vue qu'en local ca fonctionne tres bien.
|
|
dimanche 20 novembre 2005 à 11:53:00 |
Re : problemes de séssion

Anthomicro
|
j'ai la flemme de regarder tout le code, session_is_registered est dépréciée tu dois utiliser if(isset($_SESSION['variable']))
|
|
dimanche 20 novembre 2005 à 15:36:49 |
Re : problemes de séssion
|
dimanche 20 novembre 2005 à 17:41:19 |
Re : problemes de séssion

FhX
|
"$utilisateur = mysql_num_rows($verif);
if ($utilisateur) { // On test s'il y a un utilisateur correspondant"
mysql_num_rows() n'a jamais renvoyée TRUE !!!!!!!!! Faut pas s'étonner si ca marche une fois sur 30 :/
Y'a bien marqué : int mysql_num_rows() dans la doc PHP !!!
Ca renvoit false si y'a rien oui, mais jamais true ! En plus, tu récupères tes enregistrements, mais si jamais je demande le login de quelqu'un qui n'existe pas, tu va avoir une erreur de notice avec mysql_fetch_assoc() !
Par contre, autrement je vois pas d'erreur énorme :o
|
|
lundi 21 novembre 2005 à 08:54:39 |
Re : problemes de séssion

malalam
|
Réponse acceptée !
Hello,
je n'ai jamais testé, mais si tu es dans un environnement où register_globals est à on, le comportement est peut-être le même que pour $_POST ou $_GET...à savoir que si $_GET['login'] sera différent de $_SESSION['login'], $login tout court pourra être utilisé en lieu et place de ces 2 variables. Et comme au lieu d'utiliser directement tes globales, tu passes par une affecation à $login...ton problème vient peut-être de là. Utilise directement $_GET et pas $login dans ta page de visu (et partout, éventuellement, n'affectes pas tes variables globales à une tierce variable). Sauf que normalement, session_register ne devrait pas fonctionner dans cet environnement là.
Heu ensuite, session_register('authentication'); je veux bien, mais tu ne stockes rien là, $authentication n'existe apparemment pas.
Bref de toutes façons, comme Antho, je préconise l'utilisation de $_SESSION.
|
|
lundi 21 novembre 2005 à 09:55:57 |
Re : problemes de séssion

pekplusultra
|
ok je vais tester vos conseils s'apré-midi. je vous tiens au courant encore merci 
|
|
lundi 21 novembre 2005 à 12:21:35 |
Re : problemes de séssion

pekplusultra
|
bon je viens de faire les modif de session, mais cela ne change rien. me reste plus qu'a voir si register_globals est en position 'on'.
|
|
lundi 21 novembre 2005 à 13:29:44 |
Re : problemes de séssion

pekplusultra
|
Voilà le problemes est résolut, c'etait bien a cause du registers_global qui etait a 'on', pour ne pas changer touts mes fichiers , jai juste donner un autre nom a $login=$_GET['login']. j'ai remplacer $login par $login1. Et tout fonctionne pour le mieux. Un grand merci à vous d'avoir répondu et corriger mes erreurs.  
|
|
Cette discussion est classée dans : version, toujours, problemes, séssion
Répondre à ce message
Sujets en rapport avec ce message
PWS version PHP ! [ par Clem ]
J'ai trouvé un PWS en mieux, et pour le PHP !Sur http://www.easyphp.org/, il suffit de télécharger la dernière version (8Mo) et de l'installer.L'avant
problemes phpmyadmin........... [ par elanspeech ]
J'ai fort apprecié ton aide sur php.net cependant, je ne suis pas parvenu a realiser ce que je veux.Je n'ai pas trouve comment modifier le cadre droit
2 petits problemes de formulaire [ par doxid ]
voila mon codeinclude('connectbase.php');$cartelist = mysql_query('SELECT carte FROM essaie WHERE site = 1;') or die('Erreur');while ($carte = mysql_f
Encore et toujours les conversions [ par DarkSchneider ]
Salut tout le monde.Ce qui m'amène en ces lieux est un problème de conversions mais avec les nombres à virgules, sale bête que ceux là. Je désire conv
Problemes conditions [ par zzzzzz ]
Salut j'ai un prob de condition en fait j'aimerai tester si le mec est identifier alors ca marque dans le menu a gauche VOUS ETES IDENTIFIER sinon ca
détecter word et version windows [ par 3Rescator ]
Comment détecter si Word, Excel et powerpoint sont installés sur l'ordi du client ?Et aussi, comment détecter si le client utilise Windows XP ?Je sais
Problemes de cookies [ par Trigun222 ]
salut,apres déconnection et redemarrage du pc le cookie que j'envoie de cette façonsetcookie("test",'ma maleur',time()+(3600*24*365*100) );?>n'est plu
Problemes BBCode [ par TiotBour ]
Bonjour,J'ai un probleme avec un script pour un forum avec du bbcode.Voici mon script :$message = preg_replace("/\[color=(.+?)\](.+?)\[\/color\]/", "&
problemes de destruction de session... [ par jojomillenium ]
Salut!J'ai un probleme simple mais qui me pose probleme...Voila, j'ai un acces securisé par session. Lorsque la personne se logue grace a son mot de p
problemes de lien dans un calendrier [ par hysteria74000 ]
qulequ'un peut me dire pourquoi mes liens, dans mon calendrier, SUIVANT et PRECEDENT ne fonctionnent pas.Voici le code php::$lien=date("Y+m+d", mktime
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|