Maison > Article > développement back-end > Quelles sont les fonctions d’échappement couramment utilisées en php ?
Fonctions d'échappement couramment utilisées en php
1.addslashes
paire d'addslashes Escape caractères spéciaux dans les instructions SQL, y compris les quatre caractères ('), ("), (), (NUL). Cette fonction est utilisée lorsque le SGBD ne possède pas sa propre fonction d'échappement, mais si le SGBD possède sa propre fonction d'échappement. est recommandé d'utiliser la fonction d'origine. Par exemple, MySQL a la fonction mysql_real_escape_string pour échapper à SQL
Notez qu'avant PHP5.3, magic_quotes_gpc était activé par défaut, principalement dans $GET, $POST, $. L'opération addlashes est effectuée sur COOKIE, il n'est donc pas nécessaire d'appeler addlashes à plusieurs reprises sur ces variables, sinon elle s'échappera deux fois
Cependant, magic_quotes_gpc a été abandonné dans PHP5.3 et a été supprimé depuis PHP5.4. Oui, vous n'avez pas à vous soucier de ce problème si vous utilisez la dernière version de PHP. Stripslashes est la fonction de déséchappement de addlashes
2. convertit plusieurs caractères spéciaux en HTML. Il est défini comme une entité HTML (format : &xxxx;), comprenant (&), ('), ("), (<), (>) cinq caractères. htmlspecialchars
& (AND) => > Lorsque ENT_QUOTES est défini)
< (signe inférieur à) => >htmlentities échappe au contenu échappable en HTML dans les entités HTML. html_entity_decode est la fonction de décodage des htmlentities. 4. mysql_real_escape_string3.
htmlspecialchars peuvent être utilisés pour filtrer les données $GET, $POST, $COOKIE et empêcher XSS.
Notez que la fonction htmlspecialchars n'échappe qu'aux caractères HTML considérés comme des risques de sécurité. Si vous souhaitez échapper à tous les caractères qui peuvent être échappés en HTML, veuillez utiliser htmlentities. htmlspecialchars_decode est la fonction de décodage de htmlspecialchars.
htmlentities
mysql_real_escape_string appellera la fonction de la bibliothèque MySQL mysql_real_escape_string pour échapper (x00), (n), (r), (), ('), (x1a) , c'est-à-dire , ajoutez une barre oblique inverse () devant pour empêcher l'injection SQL.
Notez que vous n'avez pas besoin d'appeler des barres obliques inverses pour annuler l'échappement lors de la lecture des données de la base de données, car ces barres obliques inverses sont ajoutées lorsque la base de données exécute SQL, et les barres obliques inverses sont utilisées lors de l'écriture des données dans la base de données. , donc le contenu écrit dans la base de données correspond aux données originales et il n'y aura pas de barre oblique inverse devant.
5.
strip_tags filtrera les balises NUL, HTML et PHP.
6. Conclusion
La propre fonction de sécurité de PHP ne peut pas complètement éviter XSS. Il est recommandé d'utiliser HTML Purifierstrip_tags
Tutoriel recommandé : "
"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!