Sönke Tesch: Wie funktionieren addslashes() und stripslashes() ?

Beitrag lesen

Aber wie geht das bei einem Textfeld, das über ein Formular abgeschickt und dann ausgegeben wird?

Da werden ja immer automatisch "" vor die zu schützenden Zeichen gesetzt, aber wie bekomme ich die wieder weg?

Schalte die Einstellung magic_quotes_gpc in den PHP-Einstellungen aus, entweder direkt in der php.ini oder, falls Du dort keinen Zugriff hast, mit einer Zeile in der obersten .htaccess:

php_flag magic_quotes_gpc off

Dann hast Du Ruhe, mußt Dich allerdings wenn nötig (Datenbanken) mit Funktionen wie mysql_escape_string() bewaffnen. IMHO ist das aber seltener der Fall als jener, wo die automatischen Schrägstriche stören.

Daß Benutzereingaben sowieso nur durch htmlentities() in eine HTML-Seite ausgegeben werden sollten, sollte eine Selbstverständlichkeit sein. Denn gegen Eingaben à la '<style type="text/css">body {display:none}</style>' hilft weder magic_quotes_gpc noch addslashes().

Ich würde es gerne mit addslashes() machen,

addslashes() fügt Schrägstriche hinzu, zum Wegnehmen ist stripslashes() gedacht. Vertippt? Oder meinst Du etwas ganz anderes?

aber wie eght das während dem Senden?

Beim Senden werden die Schrägstriche nicht eingebaut, das passiert nur mit Daten, die empfangen werden (ein kleiner, aber feiner Unterschied). Daher auch der Name magic_quotes_gpc: gpc wie Get, Post, Cookie.

Gruß,
  soenk.e