addslashes

(PHP 4, PHP 5, PHP 7)

addslashesStellt bestimmten Zeichen eines Strings ein "\" voran

Beschreibung

addslashes ( string $str ) : string

Gibt einen String (Zeichenkette) zurück, in dem bestimmten Zeichen ein Backslash "\" voran gestellt wurde. Die behandelten Zeichen sind:

  • einfaches Anführungszeichen (')
  • doppeltes Anführungszeichen (")
  • Backslash (\)
  • NUL (das NUL-Byte)

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.

Parameter-Liste

str

Die zu maskierende Zeichenkette.

Rückgabewerte

Gibt die maskierte Zeichenkette zurück.

Beispiele

Beispiel #1 Ein addslashes()-Beispiel

<?php
$str 
"Ist dein Name wirklich O'Reilly?";

// Ausgabe: Ist dein Name wirklich O\'Reilly?
echo addslashes($str);
?>

Siehe auch