La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Traitements 1. Les dangers du PHP Simple au premier abord Pas de typage Principe pas compliqué Page internet testée pas beaucoup de monde Utilisateur.

Présentations similaires


Présentation au sujet: "Traitements 1. Les dangers du PHP Simple au premier abord Pas de typage Principe pas compliqué Page internet testée pas beaucoup de monde Utilisateur."— Transcription de la présentation:

1 Traitements 1

2 Les dangers du PHP Simple au premier abord Pas de typage Principe pas compliqué Page internet testée pas beaucoup de monde Utilisateur confirmés (hackeurs) Le moindre bug peut être exploité 2 !!

3 Exemple de bug Imaginons le formulaire suivant : red green blue Il doit produire laffichage suivant : 3

4 Exemple de bug Imaginons ensuite que lon affiche la couleur saisie : Normalement, on ne pourra avoir que : Votre couleur est red Votre couleur est red Votre couleur est green Votre couleur est green Votre couleur est blue Votre couleur est blue Mais… 4

5 Exemple de bug Imaginez quun attaquant modifie le formulaire : Il peut alors envoyer nimporte quelle couleur… Pire Pire : il peut insérer des balises HTML pour faire changer de pages Grâce au javascript :<script> document.location = 'http://evil.example.org/'; </script> 5

6 Conclusion Il existe une multitude de risque Beaucoup dautre « bugs » Il existe beaucoup de « petits malins » Le hacking attire beaucoup ! On est jamais trop prudent Toujours vérifier ce que lon reçoit 6

7 Vérifications des valeurs Utiliser les fonctions toutes faites, cest le minimum ! Htmlspecialchars($var) : $new = htmlspecialchars(" Test "); print $new; // <a href='test'>Test</a> strip_tags ($var," …") : $new = strip_tags(" Test ",""); print $new; // {vide} $new = strip_tags(" Test toto "," "); print $new; // Test 7

8 Vérification des valeurs Faire ses propre fonctions, en utilisant : str_replace($what,$with,$phrase) : $voyelles = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U"); print $consonnes = str_replace($voyelles, "", "Bonjour le monde"); // Génère : Bnjr l mnd $phrase = "Vous devriez manger des fruits et des légumes les jours."; $regime = array("fruits", "légumes"); $bonne_chere = array("pizzas", "gâteaux"); print $newphrase = str_replace($regime, $bonne_chere, $phrase); // Génère : Vous devriez manger des pizzas et des gâteaux tous les jours. $phrase = " Titi Lelore Prof "; $balises = array(" "); $codeBalises = array("<", ">"); print $newphrase = str_replace($balises, $codeBalises, $phrase); // Génère : <b>Titi</b><i>Lelore<i><h1>Prof</h1& gt; 8

9 Vérification des valeurs Faire ses propre fonctions, en utilisant : strcmp($phrase1,$phrase2) : Retourne < 0 si $phrase1 est inférieure à $phrase2 ; Retourne > 0 si $phrase1 est supérieure à $phrase2, Retourne 0 si les deux chaînes sont égales. substr($phrase,$debut,$longueur) : print substr('abcdef', 1,20); // bcdef print substr('abcdef', 1, 3); // bcd print substr('abcdef', 0, 4); // abcd 9

10 Finalement problèmes Pour être sûr de ne pas avoir de problèmes (récupération de mots de passe…), il faut toujours filtrer les valeurs reçues de formulaires, même ceux qui paraissent sans importance ! 10


Télécharger ppt "Traitements 1. Les dangers du PHP Simple au premier abord Pas de typage Principe pas compliqué Page internet testée pas beaucoup de monde Utilisateur."

Présentations similaires


Annonces Google