Folgende Situation: Ich habe in HTML ein POST-Form, alles wie gehabt, mit dem
Eingabefeld <input type=text name="hallo"> ... ich schicke es ab, es geht auf
ein PHP-Script, das als erstes mal den übermittelten Wert ausgibt:
- Wenn ich " eingebe, ist $hallo dann \"
- Wenn ich \ eingebe, ist $hallo dann \\
- Wenn ich ' eingebe, ist $hallo dann \'
- Wenn kein ", \ oder ' vorkommt, ist der Wert wie ich ihn eingegeben habe
Also es sieht so aus, als ob da automatisch die Funktion AddSlashes() angewendet
würde, obwohl ich das für $hallo nie geschrieben habe. Wenn mir jemand einen
Tipp geben könnte, wäre ich sehr dankbar.
Gruss, Markus
>- Wenn ich " eingebe, ist $hallo dann \"
>- Wenn ich \ eingebe, ist $hallo dann \\
>- Wenn ich ' eingebe, ist $hallo dann \'
>- Wenn kein ", \ oder ' vorkommt, ist der Wert wie ich ihn eingegeben habe
>
>Also es sieht so aus, als ob da automatisch die Funktion AddSlashes() angewendet
>würde, obwohl ich das für $hallo nie geschrieben habe.
Fuer dieses Verhalten von PHP ist der Eintrag
magic_quotes_gpc = On
in der php.ini zustaendig. Durch diesen Eintrag werden alle Daten, die
per POST, GET oder ueber einen Cookie zum Parser gelangen, automatisch
gequotet, was den gleichen Effekt zeigt wie addslashes().
Martin
--
Martin Jansen · mailto:ma...@martin-jansen.de
PGP 0x18176561 · http://www.php.martin-jansen.de/
> magic_quotes_gpc = On
Vielen Dank! Auf so einen Gedanken bin ich auch gekommen, aber wenn ich in der
INI nach einem Schlüsselwort mit *Slash* suche, kann ich ja keinen Erfolg
haben... :)
Gruss, Markus
Und hier der Tip: magic_quotes.
Kristian
--
"The lawyers won't solve this and the technologist won't solve
this piracy problem," Griffin said. "Anyway, anything that a
41-year-old thinks up, a 14-year-old can undo."
-- http://www.wired.com/news/business/0,1367,37151,00.html