Lieber Tom,
Es gilt unverändert:
eval
is evil. Das solltest Du unbedingt lassen!Das ist ein sehr plakativer Spruch, aber man darf da durchaus differenzieren. Es gibt jedefalls keinen grundsätzlichen Unterschied zwischen eval() und einer Einbindung per include/require. Es muss in beiden Fällen sichergestellt sein, dass der Code nicht manipuliert worden ist.
Genau das wollte ich gestern auch schreiben, aber Du warst schneller.
Die Warnung im PHP-Manual halte ich daher auch für irreführend. Sie wird dort leider nicht weiter relativiert oder erklärt.Jedenfalls ist ein kaputtes File-Upload-Design verbunden mit Include-Dateien, die innerhalb der Document Root liegen genauso gefährlich.
Das gilt wohl besonders für die berühmte index.php
usw. und die .htaccess
, wenn die nicht gegen Überschreiben geschützt werden und der Uploaddialog freie Namensvergabe (innerhalb der Docoument Root) erlaubt.
Namen und Pfade, deren Ziel außerhalb der Document Root liegen, sind ohnehin inakzeptabel.
Spirituelle Grüße
Dein Robert
Möge der Forumsgeist ewig leben!