Lieber Rolf,
Dass jemand direkt aus dem $_POST Array SQL generiert, darauf wäre ich nun nicht gekommen. Aber Deppen, die solche „genialen“ Ideen haben und vielleicht auch noch anpreisen, gibt's im wirren weiten Web genug.
leider.
Die rettest du aber auch nicht mit deinem Namenskonzept. Ob ich
foo-123-name
schreibe und daraus SQL generiere oderngc[1701][captain]
[^1] ändert nichts, solange man stumpf generiert.
Das ist richtig. Aber mit meinem Namenskonzept geht ja auch ein selbstgeschriebenes Parsen mit, welches in meinem Beispiel streng nach einer vorgegebenen Struktur prüft und nur erlaubtes finden kann. Wenn ich den PHP-Mechanismus nutze, entfällt diese Notwendigkeit. Da muss ich das bereits erstellte Array "parsen" (lies: abarbeiten), um dessen Inhalte nach meiner vorgegebenen Struktur auszulesen. Der Aufwand ist dabei fast derselbe, wie das eigene Konzept. Und wenn sich jemand dieses Konzept antut, dann ist er ohnehin schon dabei, unzulässiges zu filtern. Und wenn er bequem sein will, lässt er PHP die Arbeit verrichten und prüft anschließend noch nicht einmal, ob da nicht verbotenes enthalten ist. Daher argumentiere ich, dass man die Bequemlichkeit vermeiden sollte, da ihre Vermeidung das Potenzial hat, sichereren Code zu verursachen.
Liebe Grüße
Felix Riesterer