Ich habe das schon mehrfach an verschiedenen Stellen gesehen, aber nie eine befriedigende Erklärung dafür gefunden, warum das so sein sollte.
Deshalb wird hier hoffentlich eine vorgestellt werden. Warum sollten wir (zumindest im Allgemeinen) nicht exec()
y eval()
?
EDIT: Ich sehe, dass die Leute davon ausgehen, dass sich diese Frage auf Webserver bezieht - das tut sie nicht. Ich kann verstehen, warum eine nicht sanitisierte Zeichenkette, die an exec
könnte schlecht sein. Ist es schlecht in Nicht-Web-Anwendungen?
1 Stimmen
Können Sie einige Zitate von "mehreren Stellen" anführen, um zu klären, auf welche Bemerkungen Sie sich stützen? Es ist wichtig zu wissen, was Sie gelesen haben, um zu dem Schluss zu kommen, dass sie gemieden werden sollten. Das ist kein einfaches Thema, und Sie müssen Ihre Informationsquelle angeben, um Ihre Frage zu klären.
0 Stimmen
Soweit ich mich erinnere (da ich diese Orte im Laufe der Jahre nicht mit Lesezeichen versehen habe), haben die Warnungen in der Regel die Form von "Natürlich könnten wir
eval()
um dieses Problem zu lösen, aber das wäre unanständig."0 Stimmen
Das jüngste Beispiel war wohl die Verwendung von
exec()
als Mittel zum Kontrollfluss innerhalb des Programms.1 Stimmen
Ähnlich: stackoverflow.com/questions/637421/is-eval-supposed-to-be-nasty/
0 Stimmen
Kommentare der Art "Benutze einfach nicht `eval" sind überall zu finden, und ich stoße täglich auf sie. Hier ist einer: stackoverflow.com/questions/8294618/