Maison >développement back-end >Problème PHP >Quelles sont les fonctions d'échappement php ?
Les fonctions d'échappement php incluent : 1. la fonction addlashes() ; 2. la fonction htmlspecialchars() ; 3. la fonction htmlentities() ; 4. la fonction mysql_real_escape_string() ;
L'environnement d'exploitation de ce tutoriel : système Windows7, version PHP7.1, ordinateur DELL G3
1. >
addslashes échappe aux caractères spéciaux dans les instructions SQL, y compris ('), ("), (), (NUL) quatre caractères. Cette fonction est utilisée lorsque le SGBD n'a pas sa propre fonction d'échappement. Cependant, si le SGBD a sa propre fonction d'échappement, il est recommandé d'utiliser la fonction d'origine. Par exemple, MySQL a la fonction mysql_real_escape_string. échapper à SQL. Notez qu'avant PHP5.3, magic_quotes_gpc était activé par défaut, principalement dans $GET, $POST, Effectuez l'opération addlashes sur $COOKIE, il n'est donc pas nécessaire d'appeler addlashes à plusieurs reprises sur ces variables, sinon ce sera double s'échapper. Cependant, magic_quotes_gpc a été abandonné dans PHP5.3 et a été supprimé depuis PHP5.4 Si vous utilisez la dernière version de PHP, vous n'avez pas à vous soucier de ce problème. stripslashes est la fonction d'échappement des addlashes.
2.
htmlspecialchars
” (guillemets doubles) => " (quand ENT_NOQUOTES n'est pas défini)
' (guillemets simples)
=> ' (lorsque ENT_QUOTES est défini)
< (inférieur au signe) =>
htmlspecialchars peuvent être utilisés pour filtrer les données $GET, $POST, $COOKIE afin d'empêcher XSS. Notez que la fonction htmlspecialchars n'échappe qu'aux caractères HTML considérés comme présentant 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 échappe au contenu évitable en HTML en HTML Entité. html_entity_decode est la fonction de décodage des htmlentities.
4. mysql_real_escape_stringmysql_real_escape_string appellera la fonction de la bibliothèque MySQL mysql_real_escape_string, pour (x00), (n), (r), (), ('), (x1a) pour échapper, c'est-à-dire ajouter 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 seront supprimées lorsque les données sont écrites dans la base de données, donc le contenu écrit dans la base de données sont les données d'origine, et il n'y aura pas de barre oblique inverse devant.
5. strip_tagsstrip_tags filtrera les balises NUL, HTML et PHP.
Apprentissage recommandé : "
Tutoriel vidéo PHPCe 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!