Maison  >  Article  >  développement back-end  >  Quelles sont les fonctions d’échappement couramment utilisées en php ?

Quelles sont les fonctions d’échappement couramment utilisées en php ?

L
Loriginal
2020-06-01 10:58:532717parcourir

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 à) => >


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.

3.

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_string

htmlentitiesmysql_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é : "

Tutoriel PHP

"

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn