ajouter une action a la fonction echo
Bonjour,
Voilà, j'ai lu un tutoriel sur la sécurité dans lequel est montré cette classe :
Code:
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);
}
}
?> |
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).
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 :
Code:
1 2 3 4 5 6 7 8 9
|
if (!empty ($_POST))
{
Securite::bdd($_POST);
}
if (!empty ($_GET))
{
Securite::bdd($_GET);
} |
Où on regarde à chaque fois que l'utilisateur recharge une page à vérifier si il n'y a pas de caractères louches.
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. :)