shell exec() Funktioniert nicht wenn ich es von einer Webseite starte
Ich hoffe irgend einer kann mir schnell herlfen
Ich habe mir eine Seiter Programmiert, die IP-Adressen meiner Server beinhaltet...
Soweit klappt auch alles...
Jetzt wollte ich aber, dass beim Klick auf einen Link über die Shell_exec() automatisch eine vpn verbindung hergestellt wird...
$output = shell_exec('C:\Windows\system32\rasdial.exe VPN user password /PHONE:124.123.123.123');
echo "<pre>$output</pre>";
Wenn ich das auf meinem Rechner in der Testumgebung laufen lasse, klappt es auch ...
Sobald ich die Seite aber hochgeladen passiert nichts...
Wieso???????
Unterbindet der Firefox und der IE das Shell_exec()?
Ich habe mir eine Seiter Programmiert, die IP-Adressen meiner Server beinhaltet...
Soweit klappt auch alles...
Jetzt wollte ich aber, dass beim Klick auf einen Link über die Shell_exec() automatisch eine vpn verbindung hergestellt wird...
$output = shell_exec('C:\Windows\system32\rasdial.exe VPN user password /PHONE:124.123.123.123');
echo "<pre>$output</pre>";
Wenn ich das auf meinem Rechner in der Testumgebung laufen lasse, klappt es auch ...
Sobald ich die Seite aber hochgeladen passiert nichts...
Wieso???????
Unterbindet der Firefox und der IE das Shell_exec()?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 127203
Url: https://administrator.de/contentid/127203
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo,
wir reden über die php-Funktion "shell_exec()", richtig?
Die startet doch das Kommando auf dem Webserver, auf dem das Script läuft, und nicht auf dem Client. (PHP ist eine serverseitige Skriptsprache!), und auch da nur, wenn php nicht im safe-mode läuft.
Ich denke, was Du möchtest, ließe sich über eine clientseitige Scriptsprache (JavaScript, ggf. beim IE ein ActiveX-Element) erreichen, aber auch da wirst Du, wenn Du vernünftige Sicherheitseinstellungen hast, um "Vertrauenswürdige Sites" o. ä. nicht herumkommen).
wir reden über die php-Funktion "shell_exec()", richtig?
Die startet doch das Kommando auf dem Webserver, auf dem das Script läuft, und nicht auf dem Client. (PHP ist eine serverseitige Skriptsprache!), und auch da nur, wenn php nicht im safe-mode läuft.
Ich denke, was Du möchtest, ließe sich über eine clientseitige Scriptsprache (JavaScript, ggf. beim IE ein ActiveX-Element) erreichen, aber auch da wirst Du, wenn Du vernünftige Sicherheitseinstellungen hast, um "Vertrauenswürdige Sites" o. ä. nicht herumkommen).
Ein auf diese Weise gestartetes serverseitiges Programm läuft mit den Benutzerrechten des Webservers (Apache oder IIS); dieser hat in der Regel keine Berechtigungen, das Programm "RASDIAL.EXE" auszuführen.
Wenn du das Script/Programm von der Kommandozeile aus startest, läuft es mit den Rechten deines eigenen Useraccounts.
Sollte dein Webserver aber nicht dein eigener Rechner sein, dann funktioniert das so ohnehin nicht, selbst wenn der Webserver ein Windows-Server ist. Meistens laufen Webserver aber unter einem unix-artigen OS, Windows-Programme wie RASDIAL stehen dort nicht zur Verfügung.
Wenn du das Script/Programm von der Kommandozeile aus startest, läuft es mit den Rechten deines eigenen Useraccounts.
Sollte dein Webserver aber nicht dein eigener Rechner sein, dann funktioniert das so ohnehin nicht, selbst wenn der Webserver ein Windows-Server ist. Meistens laufen Webserver aber unter einem unix-artigen OS, Windows-Programme wie RASDIAL stehen dort nicht zur Verfügung.