PHP Eval

Status
Niet open voor verdere reacties.

Tijme

Gebruiker
Lid geworden
29 jan 2009
Berichten
535
Hoi mensen,

Ik heb een vraagje over php eval - http://php.net/manual/fr/function.eval.php
Ik gebruik eval() in mijn eigen php framework. Het zit in de template class. Als ik al mijn data heb opgehaald word dit via de template class netjes in de template gezet en opgeslagen in een variable. Die variable eval ik daarna met deze code

eval("?>" . $this->index . "<?php");

Kan het nu zijn dat gebruikers bij input velden shell code of kwaadwillige php code in kunnen vullen? zo ja, hoe zou ik dit dan kunnen beveiligen?

Mvg,
Tijme
 
Simpelweg door geen eval te gebruiken. Je zult het template moeten parsen, want eval heeft simpelweg té veel risico's aan zich hangen. Een voorbeeld: Template Parser
 
Ok, dit heb ik ook al geprobeert. Maar nu is het zo dat mijn framework ook gebruikt maakt van component's.

Stel dat dit een component is 'component1.php'
<?php

echo 'component 1';

?>

En dit bestand moet ik dus in mijn template replacen met het stukje tekst <frcomponent "component1">
Hoe kan ik dat dan oplossen? Want de php code in component1.php moet dus worden uitgevoerd en dan moet het pas gereplaced worden.

Dus het stukje <frcomponent "component1"> word deze tekst: component 1, en komt dan in de template te staan.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan