addslashes

(PHP 4, PHP 5)

addslashesAjoute des antislashs dans une chaîne

Description

string addslashes ( string $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

LoadingChargement en cours