Fabian St.: Strings durch die PHP engine laufen lassen

Beitrag lesen

Hi Dennis!

Nur eine kleine Ergänzung deines Postings ;-)

Wie kann man einen ganz normalen String mit PHP parsen lassen, um die PHP-Befehle in diesem String abarbeiten zu lassen?

Prinzipiell geht das mit eval() - aber bist du sicher, dass du das wirklich so machen willst? Was für Vorteile siehst du darin, dass jede Seite aus der Datenbank ausgelesen wird? Überleg dir mal, da muss für jeden Seitenaufruf, auch für statische HTML Seiten ein DB Request gesendet werden - besonders performant ist das nicht gerade.

Davon mal angesehen, sollte eval() auch aus sicherheitstechnischen Gründen nicht verwendet werden, da sich hier mal schnell Sachen einschleichen können, die im schlimmsten Fall das Einbinden fremden Codes erlauben. eval() war z.B. auch für die Schwachstellen in PHPXMLRPC verantwortlich und auch phpBB hatte bereits des öfteren ebenfalls damit zu kämpfen.

Man sollte sich also wirklich im Klaren darüber sein, bevor man solche Funktionen wie eval() einsetzt.

Grüße,
Fabian St.