(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);
?>