Sven Rautenberg: Missbrauch von Formularen zum Spam-Versand

Beitrag lesen

Moin!

probier mal ein "echo stripslashes('Hallo \ Hallo');" Daraus wird ein "Hallo  Hallo". Also irgendwie widerspricht das doch ganz deutlich dem beschriebenen verhalten der Funktion...

Doch, alles ist perfekt.

Die Stringangabe ist
'Hallo \ Hallo'

Das wird intern umgesetzt in den String
Hallo \ Hallo

Da ja auch in einfachen Anführungszeichen einfache Anführungszeichen eingebbar sind, die mit Backslash escaped werden, muß auch der Backslash escapebar sein - und das wird dir hier zum Verhängnis. Im String stehen deshalb keine zwei Backslashes, sondern nur einer.

Der String mit dem einfachen Backslash geht dann in die stripslashes-Funktion rein, und dort wird dieser folgerichtig entfernt.

- Sven Rautenberg

--
My sssignature, my preciousssss!