Bonjour,
J'ai des variables que j'utilise partout dans ma page ($section et $action). Je les utilise à la fois dans mes requêtes SQL et dans mon code php, mais jamais en affichage.
Conscient des précautions à prendre au niveau de la sécurité, je veux échapper les caractères "dangereux" de ces variables, mais j'aimerais le faire une fois pour toute au début de mon script, afin d'être certain de ne pas oublier de le faire, le moment venu :p On n'est jamais à l'abris d'un oubli!
Sachant que le contenu de ces variables est sensé n'être que du texte (a-z, A-Z, 0-9, "-" et c'est tout), quelle fonction serait la plus conseillée pour sécuriser mes variables?
J'ai pensé utiliser $section=preg_replace('^[-0-9a-zA-Z]*','',$section); mais pour tout vous dire, je m'emèle un peu les pinceaux parmis toutes les méthodes possibles pour sécurisez les données!
Qu'en pensez-vous? Pourriez-vous aussi m'indiquer les différences entre toutes ces méthodes?
A ce que j'ai compris,
- html_entities est indiqué lors de l'affichage de données, afin d'éviter l'éxécution de scripts (style javascript).
- addslashes n'est à utiliser que lorsqu'il n'existe pas de fonction de sécurisation liée à la BDD qu'on utilise
- mysqli_real_escape empêcherait les failles SQL.
Mais par exemple, est-ce que le fait d'utiliser html_entities me permettrait à la fois dempêcher les scripts, et les failles SQL, là je ne sais pas...
Partager