Hier sind ein paar Möglichkeiten, um das Gespräch zu erhalten begonnen:Wie verhindern Sie die SQL-Injektion in LAMP-Anwendungen?
- Flucht alle Eingaben bei der Initialisierung.
- Entkomme jeden Wert, vorzugsweise beim Generieren des SQL.
Die erste Lösung ist nicht optimal, da man dann jeden Wert müssen unescape, wenn Sie es in etwas anderes als SQL verwenden möchten, wie es auf einer Webseite ausgegeben werden.
Die zweite Lösung macht viel mehr Sinn, aber manuell jeden Wert zu entkommen ist ein Schmerz.
Ich kenne prepared statements, jedoch finde ich MySQLi umständlich. Auch die Trennung der Abfrage von den Eingaben betrifft mich, denn obwohl es wichtig ist, die Reihenfolge richtig zu machen, ist es leicht, einen Fehler zu machen und somit die falschen Daten in die falschen Felder zu schreiben.