AU SECOURS register global et session

AU SECOURS register global et session - PHP - Programmation

Marsh Posté le 31-05-2005 à 19:21:41    

Bonjour a tous.
 
j'ai un site hebergé chez OVH je suis obligé de me taper un register_global on a cause de la config d'ovh (visiblement inmodifiable meme par le htaccess).
 
j'ai dans mon site une variable $_SESSION['numdeclient'] qui identifie le numero de mes abonnés dans la bdd
 
aujourd'hui un type a piraté mon site en tapant dans l'url  ?numdevlient=1 ou =2 etc...
 
Comment je peux faire pour empecher ca ?
 
j'ai bien mis le code  
if (isset($_GET['numdeclient']) || isset($_POST['numdeclient'])) {
 
 unset($_SESSION);
 $_SESSION = array();  
  $numdeclient=0;
  $_SESSION['numdeclient']=0;
}
 
 
mais rien à faire... un ?numdeclient=  permet toujours de voir ttes mes fiches.
 
Que faire ?
 
Merci de votre aide.

Reply

Marsh Posté le 31-05-2005 à 19:21:41   

Reply

Marsh Posté le 31-05-2005 à 20:17:16    

Il faut simplement vérifier que l'ID passé en GET soit le même que l'ID de la session :
 

Code :
  1. if($_SESSION['numdeclient'] != $_GET['numdeclient'])
  2.     exit("Accès interdit" );

Reply

Marsh Posté le 31-05-2005 à 23:58:09    

Y a un truc que je pige pas.
 
Quand j'initialise une variable dans mon script :
$toto = '';
 
si le type il met ?toto=5 dans l'url
 
la variable $toto passe a 5 malgres l'initialisation.
 
Pourquoi ?
 

Reply

Marsh Posté le 01-06-2005 à 08:49:00    

Tu devrais acceder à tes variables par $_SESSION[] , $_POST[] ou $_GET[]
Comme ca déja plus de probleme d'embrouille, tu sais avec quelle variable tu travailles.
Et ton script et compatible register blobal on et off


Message édité par Gaby59 le 01-06-2005 à 08:49:56
Reply

Marsh Posté le 01-06-2005 à 21:35:13    

Gaby59 a écrit :

Tu devrais acceder à tes variables par $_SESSION[] , $_POST[] ou $_GET[]
Comme ca déja plus de probleme d'embrouille, tu sais avec quelle variable tu travailles.
Et ton script et compatible register blobal on et off


 
 
C'est exactement ce que je fait.
 
Mais ca n'empeche que a vriable tapé dans l'url remplace mes variables meme si je les initialise.
 
Est ce qu'il y a un moyen sur un mutualisé avec register_global ON d'empecher une personne de rentrer une variable dans l'url ?
 
Merci.

Reply

Marsh Posté le 01-06-2005 à 21:42:06    

Une solution barbare consisterait à initialiser toutes les variables en début de script et ensuite des les 'unset'.  
 
Sinon, je ne connais pas de moyens d'empêcher à un utilisateur de passer des variables par l'url.
 
Tu peux peut-être éssayer quelque chese avec extract($_GET) et tout éffacer... :(

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed