Seite wählen
Anzeige
robhost-banner

PHP Code aus einem String heraus ausführen

Wie kann ich PHP Code der in einer Datenbank gespeichert ist ausführen?

Dieses funktioniert mit der Funktion eval von PHP.
eval wertet einen String aus, als wäre er PHP-Code.

Aufbau:
mixed eval(string,code_str)

 

Wichtig ist hierbei das Sie den String gründlich überprüfen um Crackern nicht eine Möglichkeit zu geben beliebigen Code auf dem Server auszuführen.

Beschreibung:
Beim Gebrauch von eval() gilt es einige Faktoren zu beachten.
Die Zeichenkette code_str muss gültigen PHP-Code enthalten,
einschließlich syntaktisch richtiger Begrenzungszeichen (also incl. „;“-Abschluss-Zeichen für einzelne Anweisungen,
sonst bricht der PHP-Parser in der folgenden Zeile mit einem Fehler ab).
Die innerhalb von eval vorgenommenen Variablen-Zuweisungen nach durchlauf
auch im Hauptskript ihre Gültigkeit behalten.
Eine return-Angabe beendet sofort die Auswertung des Strings.
Mit PHP4 können sie ein return verwenden,
um das Ergebnis der Funktion eval() zu erhalten.
In PHP3 ist eval() nämlich vom Typ void und liefert nichts zurück.

Beispiel:

  1.  <?php
  2.  $page = webmaster-eye.de;
  3.  $was = Tutorials;
  4.  $str = $page bietet viele $was an.<br />;
  5.  echo $str;
  6.  eval (\$str=\“$str\“;);
  7.  echo $str;
  8.  ? />

Das Script gibt folgendes aus:

$page bietet viele $was an.
webmaster-eye.de bietet viele Tutorials an.

Beachten sie bitte das Setzen des Begrenzungs-Zeichens „;“ in code_str sowie den Gebrauch des „\“-Zeichens.