Was ist die sicherste Methode einen Shell Befehl mit PHP auszuführen?

... komplette Frage anzeigen

2 Antworten

Wenn ich das richtig verstanden habe was du erreichen willst, wie wäre es dann, wenn du ein Shell Script erstellst, in dem alle erlaubten Befehle enthalten sind, dann rufst du dieses Script in PHP via shell_exec() mit einem entsprechenden Parameter auf (z.B. shell_exec('/path/to/commands.sh start_ts'); um auf dem Server dann den Befehl zum starten von TS auszuführen, oder halt jeden beliebigen anderen Befehl. Welcher jeweils ausgeführt werden soll würde dann einfach anhand des übergebenen Parameters bestimmt, so könnten keine Befehle ausgeführt werden, die du nicht vorher explizit definiert hast). Vorteil wäre halt auch, dass du nicht dauernd irgendwas in einer Schleife laufen lassen musst (cron würde ja nicht reichen wenn du nur 10 Sek Intervalle willst) und die Befehle ohne Zeitverzögerung ausgeführt würden.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von CaptTaifun
22.04.2016, 14:04

Tagchen, sorry für die späte Antwort, musste erstmal etwas Schlaf nachholen.

An genau DAS hab ich gedacht als ich mich ins Bett gelegt hatte. Das wäre wahrscheinlich die sinnvollste (wegen Performance) und sicherste (weil nur Befehle ausgeführt werden, welche deklariert sind) Variante die es gibt. Vielen Dank schon mal  jedenfalls!

0

10 Sekunden im Netz sind doch wie 100 Jahre im RL !?

Kannst Du keine Adminabfrage einbauen, die es nur eingelogten Admins erlaubt, die Datei auszuführen ?

Ggfs via htaccess sperren ?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von CaptTaifun
22.04.2016, 04:03

Selbstverständlich kann ich eine Adminabfrage einbauen (das wäre so oder so gemacht worden, ich bin ja nicht verrückt und mach keine rein..)

Nur ich kann nicht garantieren, dass mein Login-Script (welches ich zwar immer erweitere) auch sicher ist. Habe es schon gegen diverse Attacken abgesichert, zumindest in der Theorie, in der Praxis ist es bisher noch nicht geschehen (dreimal auf Holz klopfen).

Daher versuche ich, die sicherste Lösung zu finden, dieses Problem zu lösen. Bei der Schleife habe ich halt einen wesentlichen Vorteil: Es KANN keine Übergabeparameter geben! Klar, außer ich programmier es so, dass es welche geben kann. Aber DAS ist der wesentliche Punkt! Sobald ich bspw. Übergabeparameter zulasse, schieße ich mir ins eigene Bein. Ich weiß nach wie vor nicht wie sicher mein Login-Script ist und ich möchte nicht unbedingt etwas riskieren. Daher die Frage mit der Schleife. Es kann nur DAS ausgeführt werden, was ICH vorher definiert habe. Klar, wie gesagt, wenn ich dann mehrere solcher Schleifen habe, geht das auf die Performance und so weiter. Aber was wäre die SICHERSTE Alternative ? Auf gut Glück hoffen, dass mein Login-Script sicher ist, ist bestimmt nicht die sicherste Variante möchte ich meinen.

Mit freundlichen Grüßen

Dominic Resch

0

Was möchtest Du wissen?