shell exec() Funktioniert nicht wenn ich es von einer Webseite starte
Ich hoffe irgend einer kann mir schnell herlfen ![face-smile face-smile](/images/icons/fa/light/face-smile.svg)
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()?
Please also mark the comments that contributed to the solution of the article
Content-ID: 127203
Url: https://administrator.de/contentid/127203
Printed on: September 1, 2024 at 02:09 o'clock
7 Comments
Latest comment
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.