Bonjour,
Voilà, j'ai lu un tutoriel sur la sécurité dans lequel est montré cette classe :
Elle permet de s'assurer que toutes les entrées utilisateurs, et tous les affichages des sorties utilisateurs soient sécurisés. Ne resterait alors comme faille que le token (enfin je crois).
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
22
23
24
25
26
27
28 <?php class Securite { // Données entrantes public static function bdd($string) { // On regarde si le type de string est un nombre entier (int) if(ctype_digit($string)) { $string = intval($string); } // Pour tous les autres types else { $string = mysql_real_escape_string($string); $string = addcslashes($string, '%_'); } return $string; } // Données sortantes public static function html($string) { return htmlentities($string); } } ?>
Maintenant, ce que je voudrais faire, c'est ne pas avoir à spécifier que pour chacune des données validées par l'utilisateur, il faut faire ceci et cela.
J'ai donc placé dans mon main.php (fichier contrôleur qui appelle tous les autres) ceci :
Où on regarde à chaque fois que l'utilisateur recharge une page à vérifier si il n'y a pas de caractères louches.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 if (!empty ($_POST)) { Securite::bdd($_POST); } if (!empty ($_GET)) { Securite::bdd($_GET); }
Maintenant, mon petit souci reste pour l'affichage des echo $var.
En effet, je n'ai pas envie de devoir à chaque fois écrire echo Securite::html($var).
Donc, je voudrais savoir si il ne serait pas possible de faire en sorte que mon code, dès qu'il lit un echo, intègre automatiquement la méthode Securite::html().
Je vois bien la possibilité de créer une fonction dire() qui appliquerait l'appel de la méthode Securite::html(), mais ça risque de nuire à la lisibilité du code.
Donc ma question serait :
Est-il possible de redéfinir la fonction echo tout en gardant le même nom pour ne pas nuire à la lisibilité du code ?
Merci d'avance.![]()
Partager