Wenn ich die Slashes entferne, dann wird doch aus "\n" "n" und ist somit auch unschädlich. Oder irre ich da jetzt?
Und was macht dein Script, wenn ich "\\n" eingebe? Richtig, es wandelt mir brav das ganze in "\n" um. Da bedank ich mich als Angreifer doch...
Man sollte generell vorsichtig sein, mit Hilfe von str_replace oder preg_replace Formularwerte/Parameter abzusichern. Z.B. könnte man auf die Idee kommen, bei einer Pfadangabe aus Sicherheitsgründen ganz naiv ".." durch "" zu ersetzen. Allerdings übersieht man dabei leicht, was passiert, wenn der Angreifer "...." übergibt. Es gibt viele Sicherheitslücken solcher Art, und nicht alle sind auf den ersten Blick so offensichtlich.