Impossibilité récente de passage de paramètres à un script PHP via URL

Impossibilité récente de passage de paramètres à un script PHP via URL - PHP - Programmation

Marsh Posté le 31-07-2006 à 16:19:50    

Bonjour,
 
1) INDICATIONS
 
a) Exemple qui marche chez FREE, mais plus chez OVH
http://designbox.free.fr/Stockage/ [...] nom=robert
 
b) Voilà le phpinfo() du site OVH :
http://designbox.free.fr/Stockage/phpinfo-ovh.html
 
c) Voici le code source de "page.php" :
 
<?php
 
echo "<br>register_global = Off :<br>ID = ".$id."<br>Nom = ".$nom."<br>";
 
echo "<br>register_global = On :<br>ID = ".$_GET["id"]."<br>Nom = ".$_GET["nom"]."<br><br>";
 
?>
 
 
2) CONCLUSION
 
Il ne semble pas que ce soit lié au fait que "register_global" soit sur On ou Off
=> Sans doute une restriction de OVH ?
 
Par avance merci de vos remarques...

Reply

Marsh Posté le 31-07-2006 à 16:19:50   

Reply

Marsh Posté le 31-07-2006 à 17:06:49    

bah la différence tu l'as montré toi-même, quand le register global est à off, tu ne peux pas utiliser les variables $nom et $id comme ça, sorti de nul part, tu dois utiliser le super-tableau $_GET

Reply

Marsh Posté le 31-07-2006 à 18:22:16    

"register_global = on" constitue une faille de securite potentielle et est donc a eviter/banir...
 
Cela dit, si vraiment tu veux rapidement rendre compatible du code qui utilise "register_global = on", tu peux utiliser
un truc du genre:
 

Code :
  1. foreach($_GET as $key=>$value) {
  2.  ${$key} = $value;
  3. }


 

Reply

Marsh Posté le 31-07-2006 à 18:33:31    

Woutcha a écrit :

"register_global = on" constitue une faille de securite potentielle et est donc a eviter/banir...
 
Cela dit, si vraiment tu veux rapidement rendre compatible du code qui utilise "register_global = on", tu peux utiliser
un truc du genre:
 

Code :
  1. foreach($_GET as $key=>$value) {
  2.  ${$key} = $value;
  3. }



 
extract marche très bien aussi pour ça, et ses paramètres le rendent même plus sûr :)


Message édité par naceroth le 31-07-2006 à 18:33:54
Reply

Sujets relatifs:

Leave a Replay

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