Maison > développement back-end > tutoriel php > Explication détaillée des fonctions d'échappement et de chaîne anti-échappement de PHP

Explication détaillée des fonctions d'échappement et de chaîne anti-échappement de PHP

伊谢尔伦
Libérer: 2023-03-07 12:36:02
original
18059 Les gens l'ont consulté

Dans le langage PHP, l'échappement et l'anti-échappement de chaînes peuvent être réalisés en utilisant les propres fonctions addlashes() et stripslashes() fournies par PHP.

1. Fonction addslashes()

La fonction addslashes() est utilisée pour ajouter des barres obliques inverses () à la chaîne spécifiée.

Le format de syntaxe est le suivant :

addslashes(string);
Copier après la connexion

Description : Renvoie une chaîne avec des barres obliques inverses ajoutées devant certains caractères pour les instructions de requête de base de données, etc. Ces caractères sont des guillemets simples ('), des guillemets doubles ("), des barres obliques inverses () et NUL (caractère NULL).

2. Fonction stripslashes()

<🎜 Le > La fonction stripslashes() est utilisée pour ajouter une barre oblique inverse() et supprimer la fonction addcslashes() pour revenir à l'original

Le format de syntaxe est le suivant :

stripslashes(string);
Copier après la connexion
Nous avons introduit <🎜. ><🎜 plus tôt. >Qu'est-ce que les données de chaîne d'échappement et anti-échappement de PHP

, présente le caractère d'échappement " " et comment utiliser le caractère de transfert pour échapper et déséchapper des chaînes, et utilise des exemples pour le faire. donc Description. IciL'exemple d'utilisation de la fonction addlashes() pour échapper à la chaîne, puis d'utilisation de la fonction stripslashes() pour la restaurer est le suivant :

Le résultat de sortie est comme suit :

<?php
  $str = "this url_name = &#39;PHP中文网&#39;";
  echo $str."<br>";
  $a = addslashes($str);               //对字符串进行转义
  echo $a."<br>";                           //输出转义后的字符串
  $b = stripslashes($a);                //对转义后的字符串进行还原
  echo $b."<br>";                          //输出还原后的字符串
?>
Copier après la connexion

Remarque :
this url_name = &#39;PHP中文网&#39;
this url_name = \&#39;PHP中文网\&#39;
this url_name = &#39;PHP中文网&#39;
Copier après la connexion
Avant d'insérer des données dans la base de données, il est nécessaire d'utiliser la fonction addcslashes() pour échapper la chaîne afin d'éviter les

caractères spéciaux sans échappement Une erreur s'est produite lors de l'insertion dans la base de données. De plus, les chaînes échappées implémentées à l'aide de la fonction addlashes() sont restaurées à l'aide de la fonction stripslashes(), mais les données doivent être à nouveau échappées avant d'être insérées dans la base de données. Dans les fichiers cache, la fonction addcslashes() est généralement utilisée pour échapper la valeur des données du cache dans une plage spécifiée lorsque les données doivent être saisies dans la base de données, en insérant le nom O'reilly dans. la base de données, cela nécessite de l'échapper. La plupart des bases de données utilisent comme caractère d'échappement : O'reilly Cela permet de mettre les données dans la base de données sans insérer de . supplémentaire. Lorsque la directive magic_quotes_sybase est activée, cela signifie que ' sera utilisé pour. s'échappe lors de l'insertion de '.

addslashes échappe aux caractères spéciaux dans les instructions SQL, notamment ('), ("), () , (NUL) quatre caractères. Cette fonction est utilisée lorsque le SGBD n'a pas son propre é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 pour échapper à SQL. Notez qu'avant PHP5.3, magic_quotes_gpc était activé par défaut, ce qui effectuait principalement des opérations d'ajout de barres obliques sur $GET, $POST et $COOKIE, il n'est donc pas nécessaire d'appeler à plusieurs reprises des ajouts de barres obliques sur ces variables, sinon un double échappement se produirait. 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.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal