![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: Rafael, 31. 05. 2007, 18:18
Hallo,
gibt es in PHP eine Möglichkeit eine Datei probe zu parsen?
Es geht darum, dass ich einem Nutzer ermöglichen will in eine Anwendung eigene Funktionen einzubinden. Dies soll aber nur geschehen wenn ein gültiges PHP-Dokument vorliegt, das den Parser nicht wegen eines Fehlers abbrechen würde.
Wenn es soetwas gibt: Cashet PHP das Dokument oder muss es zweimal geparset werden?
Danke für Tipps!
Die folgende Nachricht zum Thema stammt von: seth_not@home, 31. 05. 2007, 18:53
gudn tach!
»» gibt es in PHP eine Möglichkeit eine Datei probe zu parsen?
weiss ich nicht, aber es gibt zumindest die moeglichkeit, die syntax zu checken:
http://php.net/php_check_syntax
prost
seth
Die folgende Nachricht zum Thema stammt von: Rafael, 31. 05. 2007, 20:02
Leider nicht...
"Anmerkung: For technical reasons, this function is deprecated and removed from PHP. Instead, use php -l somefile.php from the commandline."
Ein exec halte ich aber auch nicht für die beste Lösung, da ich um meinen Parser fürchte :(
Die folgende Nachricht zum Thema stammt von: Steel, 31. 05. 2007, 20:50
Heyho!
»» Ein exec halte ich aber auch nicht für die beste Lösung, da ich um meinen Parser fürchte :(
Das finde ich niedlich. Du fuerchtest um deinen Parser aber laesst die Leute beliebig (Schad)code schreiben? Wenn Du ne Frau waerst haetteste jetzt wieder n Niedlichkeitspunkt bei mir eingesammelt. So nur nen Sympathiepunkt. :)
Erklaer doch mal dein Projekt etwas genauer. Ich mein, wenn Du nen CMS schreibst wo der User sowas koennen soll, machts ja noch Sinn, aber sonst?...
Die folgende Nachricht zum Thema stammt von: Rafael, 31. 05. 2007, 22:23
»» Erklaer doch mal dein Projekt etwas genauer. Ich mein, wenn Du nen CMS schreibst wo der User sowas koennen soll, machts ja noch Sinn, aber sonst?...
Es ist kein CMS, aber trotzdem ein Entwicklertool. Daher möchte ich eine möglichst einfache Gelegenheit geben Code einzufügen. Damit dieser aber auch sicher funktioniert (das Tool verwaltet sich in seinem eigenen Framework) und mit einer fehlerhaften Einfügung nicht eben dieses zerschossen wird, was dann manuelles Löschen der hochgeladenen Datei erfordern würde, was wiederrum mein Ziel der Bedienbarkeit bei völliger Unkenntniss zerstören würde (Ja, es ist auch sinnvoll diesen Fremdcode auf jeder Seite einzufügen.) möchte ich eben erst mal sehen, ob der Code auch geladen werden soll.
Grüße,
Rafael
Die folgende Nachricht zum Thema stammt von: Steel, 01. 06. 2007, 00:49
:D
»» Es ist kein CMS, aber trotzdem ein Entwicklertool. Daher möchte ich eine möglichst einfache Gelegenheit geben Code einzufügen. Damit dieser aber auch sicher funktioniert (das Tool verwaltet sich in seinem eigenen Framework) und mit einer fehlerhaften Einfügung nicht eben dieses zerschossen wird, was dann manuelles Löschen der hochgeladenen Datei erfordern würde, was wiederrum mein Ziel der Bedienbarkeit bei völliger Unkenntniss zerstören würde (Ja, es ist auch sinnvoll diesen Fremdcode auf jeder Seite einzufügen.) möchte ich eben erst mal sehen, ob der Code auch geladen werden soll.
Das ist zwar ein unglaublich langer Satz, aber ich versteh's komischerweise trotzdem!
Die folgende Nachricht zum Thema stammt von: Olaf Schneider, 31. 05. 2007, 20:16
Hallo Rafael,
wie willst Du verhindern, dass der User Scripts schreibt, die
- Dateien löschen
- Daten ausspähen
- Spammails versenden
- Datenbanken dumpen
- sich selbst Adminrechte geben
- Auf der Servershell arbeiten?
- …
Gruß
Olaf
Die folgende Nachricht zum Thema stammt von: wahsaga, 31. 05. 2007, 21:00
hi,
»» wie willst Du verhindern, dass der User Scripts schreibt, die
»»
»» - Dateien löschen
»» - Daten ausspähen
»» - Spammails versenden
»» - Datenbanken dumpen
»» - sich selbst Adminrechte geben
»» - Auf der Servershell arbeiten?
»» - …
Ansatzweise: disable_functions
Aber darauf verlassen würde ich mich auch eher ungern.
gruß,
wahsaga
--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }
Die folgende Nachricht zum Thema stammt von: Rafael, 31. 05. 2007, 22:24
Wenn er das will...
Nicht die Skripte kommen auf meinen Server, sondern mein Framework (wenn er will) auf seinen.
Grüße.
Die folgende Nachricht zum Thema stammt von: Tom, 01. 06. 2007, 10:54
Hello,
»» gibt es in PHP eine Möglichkeit eine Datei probe zu parsen?
Ich denke, mit eval() müsste das gehen.
Die in anderen Postings erwähnten Veränderungen müsstest Du dann natürlich in kauf nehmen, wenn ich das Konzept richtig verstehe...
eval() bricht allerdings das Script mit exit ab bei einem schweren Fehler.
Eine andere Möglichkeit wäre eventuell
http://www.php.net/manual/en/function.call-user-func.php
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Die folgende Nachricht zum Thema stammt von: Tom, 01. 06. 2007, 11:01
Hello,
ich hatte gerade noch eine Idee dazu, aber leider steht definitiv drin, dass E_PARSE nicht abgefangen werden kann.
http://www.php.net/manual/en/function.set-error-handler.php
ist aber trotzdem lesenswert. Vielleicht kommst Du dadurch noch auf eine andere Idee.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
© 1998-2008
Impressum, Software: Classic Forum