Bonjour,
Lors de la création d'un site web j'ai remarqué quelque chose que je n'arrive pas à comprendre:
Au premier chargement de la page le premier echo ne m'affiche rien et le deuxième n'est pas appelé : rien d'anormal!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <html> <head> </head> <body> <?php $a=""; echo $a; if(isset($_POST['a'])) { $a=$_POST['a']; echo $a; } ?> <form method="POST" action="index.php" > <input name="a" type="text" /> <input type="submit" /> </form> </body> </html>.
Mais maintenant pour tester mes failles sur le site je remplit le formulaire par a";// je m'attends à ce que
devienne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part $a="";
équivalent à
Code : Sélectionner tout - Visualiser dans une fenêtre à part $a="a";//";
mais contrairement à ce que je m'attendais, il ne m'affiche pas a mais a";//.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $a="a";
Bon,alors c'est génial, je suis content car c'est sécurisé mais je ne comprends pas pourquoi il ne m'a pas afficher tous simplement ce que j’attendais.
La seul explication semble être que php ajoute un antislash devant le guillemet que j'ai entré dans le formulaire mais dans php.ini, j'ai magic_quotes_gpc = Off.
Savez vous d'où peut provenir ce comportement ?
j'utilise xampp 1.7.4 qui utilise PHP 5.3.5 (http://www.apachefriends.org/fr/xampp-windows.html)
merci d'avance pour vos lumières
Partager