Moin Cheatah,
wenn Du einen Wert in einen Kontext bringst, musst Du ihn kontextspezifisch kodieren.
Ok, bitte noch einmal langsam. Ich möchte das ganze jetzt mal komplett richtig verstehen. Der Kontext ist das SQL-Statment. Der Wert, den ich in diesen Kontext bringen will, ist in dem von Dir gewählten Beispiel "bar". Also beispielsweise ein String, der aus einem Formular übergeben wird oder aus einem URL-Parameter. Verwende ich nun diesen String in einem SQL-Statement besteht die Gefahr einer SQL-Injection.
Nun müßte ich also alle " und ' in diesem String mit \ maskieren, oder wie?
SELECT ... FROM ... WHERE foo='bar'; INSERT INTO ...' [1]
^
Wieso wird an dieser Stelle maskiert?
Das ist mir nicht ganz klar.
Andererseits heißt es, dass HTML-Code, der auf "legalem" Weg von außen in Deine Datenbank gelangt, bei einer entsprechenden Ausgabe menschenlesbar auf der Seite steht, anstatt als HTML-Code interpretiert zu werden...
Nun das wäre für mich kein Nachteil. Trotzdem die Frage: wie würde ich erreichen doch wieder interpretierbaren Code zu erhalten, wenn ich es wollte?
MfG
MarkX.