(PHP 4, PHP 5, PHP 7)
addslashes — Stellt bestimmten Zeichen eines Strings ein "\" voran
$str
) : stringGibt einen String (Zeichenkette) zurück, in dem bestimmten Zeichen ein Backslash "\" voran gestellt wurde. Die behandelten Zeichen sind:
Ein Anwendungsfall für die Verwendung von addslashes() ist das Maskieren der zuvor erwähnten Zeichen in einer Zeichenkette, die von PHP ausgewertet werden soll.
<?php
$str = "O'Reilly?";
eval("echo '" . addslashes($str) . "';");
?>
Vor PHP 5.4.0 war die Direktive magic_quotes_gpc standardmäßig on, und diese führt im Wesentlichen addslashes() auf alle GET-, POST- und COOKIE-Daten aus. addslashes() darf nicht auf Zeichenketten angewendet werden, die bereits mit magic_quotes_gpc maskiert wurden, da die Zeichenketten sonst doppelt maskiert werden. get_magic_quotes_gpc() kann verwendet werden, um zu prüfen, ob magic_quotes_gpc gleich on ist.
Die Funktion addslashes() wird manchmal fälschlicherweise verwendet, um zu versuchen SQL Injection zu verhinden. Statt dessen sollten datenbankspezifische Maskierungfunktionen und/oder vorbereitete Anweisungen verwendet werden.
str
Die zu maskierende Zeichenkette.
Gibt die maskierte Zeichenkette zurück.
Beispiel #1 Ein addslashes()-Beispiel
<?php
$str = "Ist dein Name wirklich O'Reilly?";
// Ausgabe: Ist dein Name wirklich O\'Reilly?
echo addslashes($str);
?>