OffTopic:
Die kriegt der doch nichmal da hoch!
PHP in DB speichern / auslesen / ausführen
Einklappen
X
-
dankeh.a.n.d.
Schmalle
http://impressed.by
http://blog.schmalenberger.it
Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
... nur ohne :-)
Kommentar
-
Jetzt mal im ernst
Wozu gibt es dann die funktion eval()
die werden sich doch schon was dabei gedacht haben!
und wenn es funktioniert ist doch prima!
und wenn es keine bedenken gibt - wegen sicherheit - na dann super - GENIAL!
Webbi>>>> Erst denken, dann suchen, dann fragen <<<<
Kommentar
-
Also ich habe das mal ausprobiert!
Ich habe den Beispielcode:
PHP-Code:
class {
funktion1
funtktion2
}
und mit
db-abfrage in die variable $text
dann mit
$html = eval($text);
echo $html;
aber nichts wird ausgegeben!
hab in die db <?php ?> noch eingetragen, dann kam ein Fehler evald.code oder so ähnlich!
Hat vielleicht jemand einen Tipp!
Wäre sehr dankbar!
Webbi>>>> Erst denken, dann suchen, dann fragen <<<<
Kommentar
-
Quellcode war nicht vollständig!
PHP-Code:class {
funktion1
funtktion2
}
AUFRUF
Aber auch in oder ausserhalb des Eintrages in der DB mit dem Aufruf!
Es funktioniert trotzdem nicht!
Fehlermeldung kommt aber auch nicht!
durch ein echo wird mir auch der ganze quellcode ordentlich ausgegeben!
Webbi>>>> Erst denken, dann suchen, dann fragen <<<<
Kommentar
-
Ich denke allerdings, dass eval() nicht umsonst erfunden wurde.
Es muss doch einen Sinn haben, dass es das gibt!
Und bisher habt hier nicht keiner davon abgeraten!
Nur so zur Info:
Das Script läuft auf jedenfall, wenn ich es als Datei speicher und ausführe.
Folgendes wollte ich machen:
Das Script aus der DB holen ($text1)!
PHP-Code:$result = mysql_query("SELECT port_bl_tpl.text1, ... WHERE port_bl_tpl.id = '$id'");
while(list($text1, ...) = mysql_fetch_row($result)) {
# echo $text1 # TESTAUSGABE - FUNKTIONIERT!!!!!!! ;)
$text1 = eval($text1); # script aus DB ausführen
echo $text1 #ausgeführtes script ausgeben!
}
PS:
Die class ... ist ein Script, um einen Kalender darzustellen!>>>> Erst denken, dann suchen, dann fragen <<<<
Kommentar
-
Prinzipiell kann dir natürlich niemand verbieten eval() zu benutzen. Genausowenig kann ich dir verbieten, deine Online-Banking-Zugangsdaten inkl. Tan-Nummern im Portmornait aufzubewahren.
Bedenke aber, dass durch die Benutzung von eval() ein Angreifer viel leichter beliebigen PHP-Code einschleusen kann. Und glaub mir - DAS kann oft noch viel gemeiner sein, als SQL-Injektionen (und die tun dem ein oder anderen schon weh).
Und um's nochmal deutlich zu machen: Ich rate von der Benutzung von eval() ab. Genau wie ich von Automatisch globalen Variablen außerhlab der GPC-Array's abrate. Und die sind ja auch fester Bestandteil von PHP =)
Kommentar
Kommentar