PHP-Code in einem String ausführen
RomanD
- php
0 Peter Körner0 RomanD
Hi,
Ich binde HTML-Code mit folgendem Skript ein:
$sourcefile = "anleitungen/verwaltung/tarifwechsel/tarifwechsel.html";
$fopen = fopen("$sourcefile", "r");
$txt = fread($fopen, filesize($sourcefile));
$txt = str_replace("src="images/","src="".dirname($sourcefile)."/images/",$txt);
echo $txt;
fclose($fopen);
Wie kann ich jetzt möglichen PHP-Code, der in dieser Datei steht ausführen lassen?
z.B. wenn drin steht:
[...]
Ihr IP-Adresse ist: <?php echo $_SERVER['REMOTE_ADDR']; ?>
[...]
Soll die wirkliche IP-Adresse angezeigt werden.
Gibts da ne PHP-Funktion die ich auf $txt anwenden kann, oder gibts ne andere Möglichkeit?
Die Datei mit include einbinden geht leider nicht, weil dann die Zeile $txt = str_replace ... nichtmehr geht.
Gruß
Hi
Es gibt eval().
Aber eval ist evil. Dadurch handelst du dir ein massives Sicherheitsrisiko ein, weil dann u.U. von außen PHP-Code in deine Anwendung geschleust werden und dort massiv Schaden anrichten kann. Ich rate dir, nach einer anderen Lösung zu suchen.
Hi,
ok danke.
Die Dateien die ich einbinde liegen alle auf meinem Webspace, wo niemand Zugriff hat.
Die Variable $sourcefile wird auch in einer switch-Anweisung bestimmt.
Dadurch dürfte das Sicherheitsrisiko minimiert sein.
Gruß