In dieser Hinsicht ist es bemerkenswert, dass mittlerweile durchaus darauf geachtet wird, etwa von Benutzern übergebene Parameter für einen SQL-Befehl abzusichern
Zum einen kommt es überhaupt nicht darauf an, wo die Daten herkommen, die in ein SQL-Statement eingebettet werden sollen.
Das war ein konkretes Beispiel, "In dieser Hinsicht" und "etwa" sind keine sinnlosen Füllwörter.
Das Einschleusen von Code ist ein Riesenproblem und jede Möglichkeit dazu ist dementsprechend, so es irgend geht, zu vermeiden.
Es geht nicht darum, eval() in Javascript als generell gleichwertig zur Konsole zu betrachten,
Ich habe nicht behauptet, dass eval etwas mit der Konsole zu tun hat, ich habe ganz im Gegenteil ausdrücklich geschrieben, dass es völlig wurscht ist, was der Benutzer in seinem Browser mit seiner Konsole anstellt. Das Problem liegt beim Programmierer, nicht beim Betrachter.
sondern differenziert die jeweiligen konkreten Umstände zu berücksichtigen.
Das schrieb ich bereits:
Konkret solltest du dir dreimal überlegen, ob du Dritten erlauben möchtest, eigenen Code in deinem Programm auszuführen.
Eine praktikable Abhilfe gerade bei Webanwendungen ist jedoch meiner Meinung nach das generelle Vermeiden von eval und dergleichen (nochmal: es ist nicht nur Javascript betroffen), denn offenkundig hapert es beim "differenzierten Betrachten" ganz gewaltig. Passenderweise ist der Einsatz von eval eine Bequemlichkeit, denn es spart die Arbeit, eine eigene, sichere Umgebung zu schaffen.
Wäre alles gut, wäre der Haken nur ein kurzer Schluckauf, gäbe es das Sprüchlein "eval() is evil" nicht. Und überhaupt nicht hilfreich ist die Ansage, das wäre doch alles gar kein Thema.