escapes in ausgabe verhindern
Matthias Jütte
- php
hi!
ich habe ein formular, in dem ich daten bearbeiten lasse. wenn das formular abgeschickt wird werden die daten an ein skript übergeben, daß die daten zum einen normal als html-code ausgibt, und zum anderen erneut in ein formular schreibt, wo diese ggf. nochmal korrigiert werden können.
das funktioniert soweit wunderbar, allerdings habe ich probleme mit sonderzeichen. jegliche vorkommende " oder ' und vermutlich auch / u.Ä. bekommen ein \ vorangestellt. so wird dann auch alles in die datenbank geschrieben und danach angezeigt.
also als beispiel:
<a href="seite.html">Hier geht's wohin</a>
wird zu
<a href="seite.html">Hier geht's wohin</a>
hi,
das funktioniert soweit wunderbar, allerdings habe ich probleme mit sonderzeichen. jegliche vorkommende " oder ' und vermutlich auch / u.Ä. bekommen ein \ vorangestellt. so wird dann auch alles in die datenbank geschrieben und danach angezeigt.
beim schreiben in die DB ist dies eine sicherheitsmassnahme, damit dir keiner deine DB manipulieren kann.
aber wenn du vor dem ausgeben des strings stripslashes() darauf anwendest, dann löscht dies die maskierenden slashes wieder heraus.
gruss,
wahsaga
Hallo Matthias,
jegliche vorkommende " oder ' und vermutlich auch / u.Ä. bekommen ein \ vorangestellt.
http://www.dclp-faq.de/q/q-magic-quotes.html dürfte dir helfen.
Grüße aus Nürnberg
Tobias
Hallo
In eine DB gehören meiner Ansich nach ausschliesslich Daten, kein Quelltext oder sonstiger Kram.
Für Solche Sachen gibs dann zur Ausgabe BB CODE dann ist auch ausgeschlossen, dass irgendwelche Leute Sachen reinschreiben, die nur Schaden verursachen!
Viele Grüße TomIRL
hi,
In eine DB gehören meiner Ansich nach ausschliesslich Daten, kein Quelltext oder sonstiger Kram.
Für Solche Sachen gibs dann zur Ausgabe BB CODE
da bin ich leicht anderer meinung.
wenn du z.b. bb-code für smilies verwendest, warum diese dann nicht gleich beim eintragen in die db durch die entsprechenden <img>-tags ersetzen, anstatt dies bei _jedem_ auslesen der daten erneut zu tun?
das ist doch redundante arbeit, die zu höhrerer serverbelastung führt.
allerdings fällt mir jetzt gerade blöderweise ein gegenargument ein, mit dem ich meine eigene behauptung selber wieder entkräfte:
wenn sich irgendwann mal die pfade der smilie-bilder ändern, hast du mit deiner methode nur ein anpassung im script, ich habe hunderte und mehr in den db-daten :-)
hat halt alles seine vor- und nachteile.
dann ist auch ausgeschlossen, dass irgendwelche Leute Sachen reinschreiben, die nur Schaden verursachen!
massnahmen dagegen sollte man aber sowieso treffen, egal ob man den text jetzt beim eintragen in die db oder erst beim ausgeben bearbeitet.
gruss,
wahsaga