hi,
1.) Ich möchte zum einen generell verhindern, dass durch HTML veränderte Texte abgespeichert und dann auch angezeigt werden.
2.) Es soll nicht möglich sein Javascript einzuschleusen.
3.) Es soll vor SQL-Injections gesichert werden, dabei sollen aber Anführungszeichen.
Dann mache dir doch erst mal Gedanken darüber, welcher "Angriff" sich _wo_ auswirken würde - und dann demzufolge auch Gedanken über die Reihenfolge der "Entschärfungen".
Stört sich deine DB in irgendeiner Weise an HTML-Code?
Nein, nicht im geringsten, HTML ist ihr furzegal.
Also reicht es beim Einfügen in die Datenbank vollkommen aus, hier für Sicherheit gegenüber SQL-Injections (oder harmloseren, durch aus Sicht der DB Sonderzeichen darstellender Zeichen auftretende Fehler) zu sorgen.
Wen beeinflussen denn HTML-Code und Javascript?
Den Client.
Also entschärfe diese, bevor du die Daten wieder ausgibst.
Meine Überlegung war:
ad.1+2) strip_tags für die ersten beiden Punkte
ad.3) mysql_real_escape_string(); für den 3ten.
Erst 3), und dann bei der Ausgabe 1+2)
Für 1+2) würde ich aber eher htmlspecialchars nehmen.
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }