| startseite | schweden | bands | projekte | it-texte | kontakt | bluka |
| Frage: | Was macht man, wenn man auf dem Bett liegt, fast einschläft, aber der Rechner noch läuft und man ihn ausschalten will? Oder wenn man statt Punkmusik lieber Kuschelmusik hören würde, aber nur ungerne zum Rechner laufen würde? |
| Antwort: | Man tastet sich zu seinem Mobiltelefon vor, ruft ein Lesezeichen auf, und der Rechner tut das Gewünschte. w00t! |
| Das Programm: | phpremote ist in zwei Teile aufgeteilt - einen Server und einen Client. Der Server ist ein Webserver, auf dem sich eine php-Datei befindet. Diese generiert, je nach den Parametern mit denen sie aufgerufen wird (Aktionsname, Rechner, Aktionspasswort), eine weitere php-Datei mit dem Namen Aktionsname.Rechner.Aktionspasswort.php, die sich beim Ausführen selbst löscht. Der Client ist der fernzusteuernde Rechner. Auf ihm läuft ein Demon, dieser frägt in einem festgesetzten Intervall Signale (= php-Dateien) ab, auf die er reagieren soll, und führt, falls eine entsprechende Datei existiert (= ein Signal gesendet wurde) ein bestimmtes Kommando aus. |
| Anschaulich: | Mobiltelefon -> Server: "Aktion: 'herunterfahren', Rechner: 'fritz', Passwort: 'foobar'". Server generiert php-Datei. Client -> Server: "Existiert ein Auftrag für Aktion: 'herunterfahren', Rechner: 'fritz', Passwort: 'foobar'"? Server: 'Ja.' löscht php-Datei. Client fährt herunter. |
| Technischer Ablauf: | Mobiltelefon: wget https://phpremote.server.com/?a=shutdown&c=fritz&s=foobar Server: create shutdown.fritz.foobar.php, Content: <?php system ("rm shutdown.fritz.foobar.php") ?> Client: wget https://phpremote.server.com/shutdown.fritz.foobar.php && shutdown |
| und außerhalb des Bettes? | Sehr praktisch ist phpremote: -beim Automatisieren von Systemupdates (eine Mail enthält den Link zum Update-Befehl) -beim Tunneln in NAT-Netzwerke (der Client baut einen Tunnel auf) -zum Ausführen von vordefinierten Befehlen ohne direkten Rechnerzugriff (z.B. mobil) -... |
| Sicherheit: | Dateien werden mit den Rechten des Webservers erzeugt. Nur alphanumerische Zeichen, also keine remote command execution möglich. Keine Generierung von Dateien ohne globales Passwort. |
| Download: | wird es wohl nie öffentlich geben - mittlerweile bin ich auf Ellectra umgestiegen. Das ist ein von mir modifizierter Jabber-Bot in Perl, gefunden im Linux-Magazin, geschrieben vom Michael Schilli. |