PHP eval() Problem

...komplette Frage anzeigen

1 Antwort

1) http://www.php.net/manual/de/function.eval.php

2) Ein Skript könnte so ausschauen: <?php function calc($value){ $test = 'return ' . $value . ';'; return eval($test); } echo calc('15*15-125');

3) Es ist eine verdammt schlechte Idee, Code von außen mitgeben zu lassen, ein größeres Sicherheitsloch kannst Du eigentlich nicht aufmachen. Theoretisch kann damit jeder beliebigen Code auf Deinem Server ausführen lassen, das geht von Passwörtern auslesen über die Anwendung/Datenbank löschen bis zu den ganzen Server zu übernehmen. Eval() ist immer böse und es gibt keinen vernünftigen Grund das einzusetzen, auch wenn es einem das Leben manchmal etwas leichter macht. Der richtige Weg ist einen Parser für die Ausdrücke zu schreiben und das auszuwerten, ansosten zumindest den Code bis zum erbrechen überprüfen, was darin vorkommt (Regex), auf der Seite zu eval() findest Du dazu ein Beispiel.

super Antwort!

0

Was möchtest Du wissen?