String-Funktionen
PHP Manual

addslashes

(PHP 4, PHP 5, PHP 7)

addslashesStellt bestimmten Zeichen eines Strings ein "\" voran

Beschreibung

string addslashes ( string $str )

Gibt einen String (Zeichenkette) zurück, in dem bestimmten Zeichen ein Backslash "\" voran gestellt wurde. Diese Funktion ist z.B. für Datenbankabfragen wichtig. Die behandelten Zeichen sind das einfache und das doppelte Anführungszeichen (' und "), der Backslash selbst (\) sowie NUL (das NULL-Byte).

Ein Beispiel für die Verwendung von addslashes() ist das Schreiben von Daten in eine Zeichenkette, die von PHP ausgewertet wird. Ist zum Beispiel ein Name wie O'reilly in $str gespeichert, muss $str maskiert werden (z.B. eval("echo '".addslashes($str)."';"); ).

Um Datenbank-Parameter zu maskieren, sollte aus Sicherheitsgründen eine datenbankspezifische Escapefunktion zu verwenden (z.B. mysqli_real_escape_string() für MySQL oder pg_escape_literal(), pg_escape_string() für PostgreSQL). DBMSe haben unterschiedliche Maskierungsspezifikationen für Bezeichner (z.B. Tabellennamen, Feldnamen) und Parameter. Manche DBMSe wie PostgreSQL bieten eine Funktion zum Maskieren von Bezeichnern, pg_escape_identifier(), aber nicht alle DBMSe bieten eine solche Bezeichnermaskierungs API. Ist dies der Fall, ist die ordnungsgemäße Maskierungsmethode dem Datenbank-System-Handbuch zu entnehmen.

Verfügt das DBMS über keine Maskierungsfunktion und das DBMS verwendet \ um Sonderzeichen zu maskieren, können Sie u.U. diese Funktion nur verwenden, wenn diese Maskierungsmethode angemessen für Ihre Datenbank ist. Bitte beachten Sie, dass die Verwendung von addslashes() zum Maskieren von Datenbank-Parametern bei den meisten Datenbanken Sicherheitsprobleme verursachen kann.

Die PHP-Direktive magic_quotes_gpc war vor PHP 5.4 standardmäßig aktiviert, sodass die Funktion addslashes() auf alle GET-, POST- und COOKIE-Daten angewendet wurde. Verwenden Sie daher die Funktion addslashes() nicht, wenn Strings bereits durch magic_quotes_gpc escaped wurden, ansonsten erhalten Sie doppelte Maskierungen. Um herauszufinden, ob der Parameter aktiviert ist, verwenden Sie am einfachsten die Funktion get_magic_quotes_gpc().

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


String-Funktionen
PHP Manual