Définit la racine d'un document HTML
La fonction addslashes — Ajoute des antislashs dans une chaîne
(PHP 4, PHP 5)
La fonction addslashes() retourne une chaîne avec des antislashs devant les personnages prédéfinis.
Les caractères prédéfinis sont :
Retourne la chaîne string, après avoir échappé tous les caractères qui doivent l'être, pour être utilisée dans une requête de base de données. Ces caractères sont les guillemets simples ('), guillemets doubles ("), antislash (\) et NUL (le caractère NULL).
Un exemple d'utilisation d'addslashes() est lorsque vous entrez des données dans une base de données. Par exemple, pour insérer le nom O'reilly dans la base, vous aurez besoin de le protéger. Il est fortement recommandé d'utiliser les fonctions de protection spécifiques à chaque base de données (telle que mysqli_real_escape_string() pour MySQL par exemple).
Syntaxeaddslashes(string)
Paramètre |
Description |
---|---|
string |
Requis. La chaîne à échapper. |
Dans cet exemple nous ajouterons des barres obliques inverses aux caractères prédéfinis dans une chaîne :
Exemple : 📋 Copier le code
<?php $chaine = "Qu'est ce qu’un ours?"; echo $chaine . " ceci n'est pas sûr dans une requête de base de données.<br />"; echo addslashes($chaine) . " ceci est sûr dans une requête de base de données"; ?>
Le rendement du code ci-dessus sera :
Qu'est ce qu'un ours? ceci n'est pas sûr dans une requête de base de données.
Qu\'est ce qu\'un ours? ceci est sûr dans une requête de base de données
Supposons que vous avez une page HTML avec un formulaire où les utilisateurs peuvent saisir des commentaires. Vous voulez vous assurer que les commentaires saisis ne contiennent pas de caractères spéciaux qui pourraient potentiellement provoquer des erreurs de syntaxe ou des problèmes de sécurité lorsque vous les traitez en PHP. Voici comment vous pourriez utiliser la fonction addslashes() pour accomplir cela :
Exemple : 📋 Copier le code
<?php if(isset($_POST['comment'])) { $comment = addslashes($_POST['comment']); // Maintenant, $comment ne contiendra pas de caractères pouvant provoquer des problèmes de sécurité ou de syntaxe // Vous pouvez maintenant utiliser $comment en toute sécurité dans votre code // Par exemple, pour l'afficher à l'utilisateur ou le sauvegarder dans une base de données } ?>
Dans cet exemple :
Lorsque l'utilisateur soumet le formulaire, le contenu du champ de texte est récupéré en utilisant $_POST['comment'].
La fonction addslashes() est ensuite appliquée à la valeur de ce champ de texte. Cela ajoute un antislash (\) devant les caractères qui pourraient potentiellement causer des problèmes.
Le résultat est stocké dans la variable $comment, qui peut maintenant être utilisée en toute sécurité dans votre code.
Cela aidera à prévenir les erreurs de syntaxe ou les problèmes de sécurité potentiels si les commentaires contiennent des caractères spéciaux tels que des guillemets, des apostrophes, etc.
Cependant, il est important de noter que l'utilisation de addslashes() n'est pas une solution complète pour la sécurité, en particulier dans le contexte des bases de données. Pour éviter les attaques par injection SQL, il est recommandé d'utiliser des techniques plus avancées comme les requêtes préparées ou les fonctions d'échappement spécifiques aux bases de données, telles que mysqli_real_escape_string() pour MySQL.
1. Bien que l'ajout d'antislash avec addslashes() puisse aider à prévenir les erreurs de syntaxe, il est recommandé d'utiliser des fonctions spécifiques comme mysqli_real_escape_string() pour les requêtes SQL ou de se familiariser avec les requêtes préparées pour éviter les attaques par injection SQL.
2. Notez que depuis PHP 7.4, la fonction get_magic_quotes_gpc() est obsolète. Cette fonction ajoutait automatiquement des antislashs aux données provenant de formulaires et de requêtes HTTP, ce qui pouvait entraîner une double échappement si vous utilisez déjà addslashes().
En conclusion, la fonction addslashes() est utile pour échapper les caractères spéciaux dans les chaînes de caractères, mais elle doit être utilisée avec précaution et en tenant compte des meilleures pratiques de sécurité.
Fonction precedente: |
Fonction suivante: |