Eval() Ausgabeproblemchen

Hehe :) gaaaaar nicht wahr, mir braucht man nix vorscripten jedoch ich bin nicht abgeneigt wenn mir jemand n Stück Arbeit abnimmt ;-)

Aber da ich hier ja zwei PHP Cracks aufgegabelt habe; was ist an eval() denn evil ?
 
Die eval()-Funktion erlaubt alles was mit PHP selbst auch möglich ist. Daher ist der Einsatz auch mit größter Vorsicht zu genießen, besonders wenn der Ausdruck, der evaluiert werden soll, nicht vollständig kontrollierbar oder gar von außen manipulierbar ist. Denn nicht jeder kennt sich mit diesem Sicherheitsrisiko aus und weiß die Werte angemessen zu filtern/aufzubereiten.
Ein einfaches Beispiel, wie es bestimmt unzählige Male in Skripten vorkommt:
PHP:
eval('echo "'.$string.'";');
Wenn die $string-Variable nun nachfolgenden Wert enthält, wird das Skript gelöscht:
Code:
" . unlink(__FILE__) . "
Deshalb ist es sicherer ganz auf diese Funktion zu verzichten zumal es auch in den meisten Fällen – wenn nicht sogar immer – einen vielleicht nicht so bequemen aber dafür sichereren Umweg gibt. So kennt PHP beispielsweise Variablenfunktionen und variable Variablen und auch normale Variablendeklarationen können über Umwegen (beispielweise mithilfe regulärer Ausdrücke) durch ihre Werte ersetzt werden. Es gibt also keinen vernünftigen Grund nur aus Bequemlichkeit auf Sicherheit zu verzichten.
 
Warum überhaupt eval()? Ich benutze erfolgreich mein eigenes CMS ohne dieser Funktion.
Und da stell ich gerne die Gegenfrage: Warum braucht Ihr/man unbedingt eval()?
 
Ich bin wohl schuld daran, dass er unbedingt Eval benutzen wollte.
Warum wollt Ihr/Man unbedingt Eval?
Diese Frage ist eigentlich leicht zu beantworten. Es gibt immer wieder so tolel "Cracks" welche Tutorials anbieten, obwohl sie selber noch in der Lernphase sind und da warscheinlich in vielen Büchern einfach auch diese Eval() Funktion aufgelistet ist, wird diese dann auch öffters verwendet.

Gleichzeitig hat man als "Unwissender" einfach nicht das Wissen. Man stellt sich nicht die Fragen
Ist das denn Sicher?
Wie geht es denn noch?
Wie ist es denn Sicherer aber vielleicht schwerer?

Es gibt genügend die mit PHP zwar anfangen aber nicht weiter machen. Es geht meistens darum seine eigene HP etwas "aufzu peppen" aber nicht unbedingt PHP zu lernen. So sucht man den Weg sein Ziel zu erreichen aber schaut weniger darauf ob es Sicher ist, denn "es muss doch sicher sein!" und zugleich geht es darum dass es so leicht wie möglich geht -.- und da gibts schlisslich fertige oder halbfertige Scripte

Das ist zumindest meine Meinung ^^
 
Hm das ist echt das Problem vieler Anfänder, dass sie eben zu wenig Wert auf Sicherheit legen. Oft liegt das aber auch leider an vielen/einigen Einsteiger-Tutorials, die zwar schön alles erklären aber das Thema Sicherheit/Validierung von fremden Daten wird gar nicht erwähnt oder nur kurz angeschnitten.

Auch nur meine Meinung
 
Zurück