addslashes
(PHP 4, PHP 5)
addslashes — Ajoute des antislashs dans une chaîne
Description
$str
)
Retourne la chaîne str
, après avoir échappé tous
les caractères qui doivent l'être, pour être utilisée.
Ces caractères sont les guillemets simples
('), guillemets doubles ("),
antislash (\) et NULLE (le caractère NULL
).
Un exemple d'utilisation d' addslashes() est lorsque vous entrez des données dans une chaîne de caractères à évaluer par PHP. Par exemple, pour insérer le nom O'reilly dans la chaîne de caractères $str, vous aurez besoin de protéger $str. (i.e. eval("echo '".addslashes($str)."';"); )
Pour échapper les paramètres de base de données, vous devez utiliser les fonctions d'échappement spécifiques à votre base de données (i.e. mysqli_real_escape_string() pour MySQL ou pg_escape_literal(), pg_escape_string() pour PostgreSQL) et ce, pour des raisons de sécurité. Les DBMs ont des spécifications d'échappement différents pour les identifiants (i.e. Nom de table, nom de champ) et pour les paramètres. Quelques DBMS, comme PostgreSQL, fournissent des fonctions d'échapement pour les identifiants, pg_escape_indentifier(), mais ce n'est pas le cas pour tous les DBMS. Si c'est le cas, référez-vous au manuel système de votre base de données pour utiliser les bonnes méthodes d'échappement.
Si votre DBMS n'a pas de fonction d'échappement, et qu'elle utilise le caractère \ pour échapper les caractères spéciaux, vous pouvez utiliser cette fonction, mais uniquement si elle est adéquate pour votre base de données. Veuillez garder à l'esprit qu'utiliser la fonction addslashes() pour échapper les paramètres de base de données peut être une faille de sécurité pour la plupart des bases de données.
La directive PHP magic_quotes_gpc est à on par défaut avant PHP 5.4, et elle appelle addslashes() sur toutes les données GET, POST et COOKIE. N'utilisez pas addslashes() sur des données déjà protégées avec magic_quotes_gpc sinon vous doublerez les protections. La fonction get_magic_quotes_gpc() est utile pour vérifier ce paramètre.
Liste de paramètres
-
str
-
La chaîne à échapper.
Valeurs de retour
Retourne la chaîne échappée.
Exemples
Exemple #1 Exemple avec addslashes()
<?php
$str = "Votre nom est-il O'reilly ?";
// Affiche : Votre nom est-il O\'reilly ?
echo addslashes($str);
?>
Voir aussi
- stripcslashes() - Décode une chaîne encodée avec addcslashes
- stripslashes() - Supprime les antislashs d'une chaîne
- addcslashes() - Ajoute des slash dans une chaîne, à la mode du langage C
- htmlspecialchars() - Convertit les caractères spéciaux en entités HTML
- quotemeta() - Protège les métacaractères
- get_magic_quotes_gpc() - Retourne la configuration actuelle de l'option magic_quotes_gpc