Pour moi un faille est la possibilité d'altérer les données de façon à ce que le programme ne fasse plus ce qu'il devrait faire.
Dans le cas présent, rien de bien grave puisque tu ne fais que récupérer un résultat.
Dans le cas d'une requête POST où tu envois des données dans un fichier ou une BDD, tu dois
Citation:
Le code Php doit impérativement contrôler chaque variable reçu.
Tu peux contrôler manuellement chacune de ces variables pour qu'elles soient conformes à ce que tu attends.
Tu veux voir un problème du côté PB, alors OK.
Déjà, il faut imaginer que l'on a pas le code de la requête en dur.
Que tu as 2 StringGadget, une pour entrer la largeur et l'autre pour la longueur.
Dans l'état actuel, imagine que dans le StringGadget longueur, tu entres : 1254&largeur=125
Ce qui donne ça dans le code
HostUrl + "largeur=" + URLEncoder("5")
HostUrl + "&longueur=" + URLEncoder("1254&largeur=125")
Ce qui donnerait cette requête :
jaime.php?largeur=5&longueur=1254&largeur=125
Donc tu peux tester sur le serveur de Falsam, tu n'auras plus 5*1254 mais 125*1254
Dans ce cas là pas de dommage et ici aucun intérêt de modifier la valeur largeur que tu entres toi-même dans l'autre StringGadget largeur, mais il faut imaginer qu'il y ai d'autres champs et que ceux-ci ne soit pas ou mal controlés et tu pourrais y envoyer des données mal intentionnées.
Voici l'url pour faire un test vite fait.
Code:
http://s242132022.onlinehome.fr/racal/jaime.php?largeur=5&longueur=1254&largeur=125
Je le rappelle à qui veut l'entendre et cette phrase est assez connu : "Ne jamais faire confiance aux entrées utilisateurs".
S'il est possible de contourner le fonctionnement normal d'un programme ou script, alors c'est qu'il y a un problème et qu'il faut le résoudre.
D'ailleurs j'ai oublié de préciser que ci-dessus, il fallait traiter les caractères, & et =.
HS : je fais actuellement une gui pour simuler un petit système de news, donc GUI PB et script PHP, et dans mon cas d'autres caractères peuvent être génant comme ?
Donc il faut les traiter avant la sortie (l'envoi) de ta requête.
Autre chose, contrairement à ce que je disais au début de ce post, que ce soit en GET ou POST, si le script est mal protégé, rien ne t'empêche de mettre dans le StringGadget carrément un bout de script PHP qui sera interprété.
Et le simple URLEncoder() dans PB limite déjà cette possibilité.
@Falsam, c'est moche ton jaime.php?& derrière le point d'interro tu n'en a pas besoin.
Si tu continues, je vais te balancer à Rasmus.
Bye.