Chcę mieć możliwość wywoływanie kodu php z bazy:
function eval_mixed_helper($arr){ return ("echo stripslashes(\"".addslashes($arr[1])."\");"); } function eval_mixed($string){ $string = "<? ?>".$string."<? ?>"; $string); $string = str_replace('?>', '', str_replace( array('<?php', '<?'), '', preg_replace_callback( "/\?>((.|\n)*?)<\?(php)?/", "eval_mixed_helper", $string) ) ); return eval($string); } foreach($listar as $c=>$ncat) { echo opentable($ncat['cname']); echo "<div class='content_body'>"; foreach($ncat['node'] as $n=>$node) { if(!empty($node['ntitle'])) echo "<strong>".stripslashes($node['ntitle'])."</strong><br/>"; if(!empty($node['ntext'])) { ob_start(); eval_mixed(stripslashes($node['ntext']))."<br/>"; ob_end_flush(); } }
Jeżeli usunę ob_start oraz ob_end_start a istnieje jakiś błąd w kodzie dostaję komunikat:PHP has encountered a Stack overflow.
Nie wiem czy to jest dobre metoda na wywoływanie kodu php z bazy, ale na pewno nie jest to super metoda, która na 100% pozwala zabezpieczyć się przed jakimś fejkiem. Macie może jakieś inne rozwiązanie albo pomysły w jaki sposób można kod php wrzucić do bazy.