[Homepage] exe starten (auf Server) per Button

Dieses Thema [Homepage] exe starten (auf Server) per Button im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Fizbin, 22. Juni 2004.

Thema: [Homepage] exe starten (auf Server) per Button Hallo. Mein grundlegende Problem ist, das ich (noch) keine Ahnung von Webprogrammierung habe. Daraus resultiert das...

  1. Hallo.

    Mein grundlegende Problem ist, das ich (noch) keine Ahnung von Webprogrammierung habe. Daraus resultiert das eigendliche Problem:

    Ich möchte auf der Homepage ein Button einfügen der auf dem Server eine exe-Datei ausführt. Es soll eine Meldung erscheinen das die exe gestartet wurde.

    Bei meinen bisherigen Versuchen habe ich folgendes geschafft:
    - per Link wird eine php- Seite aufgerufen die mit der exec()- Funktion die Datei startet.
    - ein Button der onclick per Java-Skript eine MassageBox öffnet.

    Leider fehlen mir die Kenntisse diese beiden Sachen zusammenzukriegen: Ein Button der eine Datei startet und eine MsgBox anzeigt.

    Kann mir jemand weiterhelfen und mir ein Codebespiel posten?

    Weitere Infos: Webserver (Jana2) läuft im lokalem Netzwerk. PHP ist installiert. Die exe muss mit Parametern ausgeführt werden und beendet sich nach 5 sek. von selbst. Lösung soll mittels html, Javaskript, php erfolgen; kein ActiveX.
     
  2. Hi

    Schreib in die php Datei einfach noch die Asugabe rein:

    ...
    <body onload=msgbox('mein Text')>
    ..
    </body>

    Gruß, Michael
     
  3. Danke schonmal für die Antwort. Leider klappt es bei mir nicht. Frontpage meckert die Zeile immer an.

    Zudem ist es leider auch nicht ganz das was ich suche. Bei der Lösung wird es so aussehen das ich eine Seite lade die die Datei startet und die Meldung ausgibt. Der Besucher soll aber auf der Seite mit dem Button bleiben; es soll keine andere Seite geladen werden.

    Da ich wirklich wenig Ahnung von Webprogrammierung habe wäre es auch nett wenn ihr Beispielquelltexte komplett posten könntet, ansonsten wäre es denkbar das ich an eingentlichen Selbstverständlichkeiten scheitere.
     
  4. Also das Frontepage etwas anmeckert was Standartkonform ist wundert mich eh nicht. Was mich viel eher wundert ist das es heute noch Leute gibt die mit Frontepage arbeiten. Aber genug vom Thema abgewichen, ich glaube man hat bereits gemerkt was ich von Frontpage halte. Zunächst mal gebe ich dir den Tipp besorg dir entweder ein Programm wie Dreamweaver oder eine der vielen und fast genauso guten Ersatzprogramme (oftmals als Freeware u.ä. erhältlich) Hier z.B. findest du ein paar schöne Programme: http://www.wintotal.de/Software/index.php?rb=24

    So aber nun zu deinem Problem. Ich glaube hiermit müsste es klappen:

    <a href=zuöffnendedatei.php onClick=javascript:alert('Hier steht dein Text');><img src=BilddesButtons.jpg></a>

    alternativ dazu:

    <a href=zuöffnendedatei.php onClick=javascript:alert('Hier steht dein Text');>Text Button</a>

    Allerdings wird die zuöffnende Datei erst dann geöffnet und erst dann ausgeführt sobald die Alert Meldung bestätigt wurde! Aber ne andere Möglichkeit fällt mir spontan nicht ein. Falls dir das immer noch nicht ausreicht melde dich nochmal dann schau ich nochmal nach ob mir ne andere Möglichkeit einfällt.
     
  5. Das wäre aber auch nicht der Sinn der Sache (wenn ich Fizbin richtig verstanden habe), da die Meldung, dass die EXE-Datei gestartet wurde, ja vor dem Start der EXE bereits erscheint...

    Ich würde folgendermaßen vorgehen (die exec()-Funktion gibt als Rückgabe die letzte Ergebnis-Zeile des ausgeführten Programms zurück. Ich geh davon aus, dass die die bekannt ist):

    Link: <a href=startexe.php>Linktext</a>

    in der startexe dann
    Code:
    <?
      if(exec(...)!=die letzte Zeile) { //Erfolgsfall. Datei wurde ausgeführt
        $message=Datei wurde erflolgreich ausgeführt.;
      }
      else { //Kein Erfolg
        $message=Datei wurde NICHT erfolgreich ausgeführt!;
      }
    ?>
    
    <html>
    <head>...</head>
    <body onload=javascript:alert('<?echo $message?>')>
    ...
    </body>
    </html>
     
  6. Hallo.

    Erstmal Danke für die Vorschläge. Fangen wir unten an.
    Die MassageBox: Prinzipiell ist es mir egal ob der User vor dem Start, zur Laufzeit oder nach Beendigung des Programmes die Meldung erhält.
    Die Lösung mit der Auswertung der Rückgabe gefällt mir gut, leider weiss ich noch nicht genau wie ich es anwenden muss, werde es mir aber nochmal genauer anschauen.
    Was ist denn eine Ergebniszeile des ausgeführten Programmes? Hier häng ich mommentan. Bekannt ist das Programm recht gut, da selbst geschrieben. Das Programm schaltet übrigens, je nach Parameterübergabe, unterschiedliche LEDs ein und aus.

    Leider funktioniert das Starten de EXE auf dem Server mit
    Code:
    <a href=licht.exe onClick=javascript:alert('Hier steht dein Text');>Text Button</a>
    
    auch nicht. Der Browser versucht dann die Datei runterzuladen. Sie soll aber auf dem Server gestartet werden (mit Parametern!).
    (Desweiteren soll keine neue Seite geöffnet werden, wenn auf den Button geklickt wird).

    @Gandalf:
    Mein Editor werde ich bei Zeiten ändern.
     
  7. Das das Starten per HTML nicht funktioniert ist klar und liegt am Webbrowser. Es ist allgmein nicht möglich eine .exe Datei einfach so auszuführen. Liegt am Konzept von allen Web und Scriptsprachen. Denn um es einfach auszudrücken: Dafür ist z.B. HTML nicht gedacht! Über PHP ist das was anderes weil diese Scriptsprache eine ganz andere Zielsetzung als z.B. HTML. Außerdem ist HTML, wie auch alle anderen Websprachen eine Platformunabhänige!!! Aber das jetzt alles zu erklären bzw. zu diskutieren führt denke ich zu weit.
     
  8. Ach übrigens, noch was allgemeines. Das ausführen von Dateien auf einem Zielrechner das von einem anderen Rechner angestoßen wird, wiederspricht jeglichem Sicherheitskonzept. Sowas macht man entweder über Fernsteuerungen oder andere gesicherte Funktionen. Alles andere ist eine Unterminierung jeglichen Sicherheitsgebahrens.

    Ein Beispiel:

    Könntest du per CLIENTseitiger HTML Datei eine EXE auf einem Server ausführen könnte ich das auch illegal mit einer manipulierten HTML Datei von meinem Rechner aus.

    Da PHP SERVERseitig ist, ist das schonmal was ganz anderes, wobei ich auch diese Möglichkeit schon als ziemlich gefährlich und zweifelhaft halte.
     
  9. Hallo.

    Das das clientseitige Ausführen von Dateien auf dem Server nicht sicher ist, dachte ich mir ja auch schon. Der Hinweis mit dem serverseitigen PHP hat nun meine andere Vermutung bestätigt, das das mit PHP (einigermassen) in Ordnung ist (Danke).


    Zum besseren Verständnis erläutere ich mal genauer was ich vorhabe.

    Der Server läuft in meinem Netzwerk und ist auch über das Internet erreichbar, aber nur für Freunde. Das Netzwerk hängt an einem dsl-Router (128kbit/s UP). Da (aus Sicherheits- und Trafficgründen) nur Freunde auf den Server sollen, habe ich das wie folgt gelöst:
    - IP- Posting auf unbekannte Site (Freunde kennen diese Site)
    - Server nicht auf Port 80 erreichbar
    - Root- Verzeichnis ist .htaccess geschützt.

    Ich hoffe das reicht sicherheitstechnisch fürs erste.


    Auf der Site selber wird per javascript immer ein aktuelles Bild der Webcam geladen. Die Software zum Capturen ist auch aus eigener Feder.
    Das Webcambild zeigt eine Höhle meines Aquariums. Mit ein wenig Bastelei habe ich in diese Höhle superhelle LED's zur Beleuchtung eingebaut die über den Rechner geschaltet werden können; mittels einem IO-WARRIOR40-Chip(http://www.codemercs.com).
    Der IO-WARRIOR ist eine Schaltung die an den USB-Port angeschlossen wird. Über die Ports des IO-WARRIORS lassen sich recht einfach LEDs zum Leuchten bringen. (Desweiteren bringt der IO-Warrior auch tolle SpecialModeFunktionen, wie die Ansteuerung von IIC-Bus und LCD mit.

    Ich hab mit der IO-Warrior Schaltung schon rumprobiert, Allerdings immer nur mit VB da mir dies flüssig aus der Hand geht.

    Da ich von cgi-bin auch gar keine Ahnung habe, werde ich hierfür eine (ersteinmal) eine EXE einsetzten. Zudem weiss ich auch garnicht ob die IO-WARRIOR-API cgi-bin-skripsprachen unterstützt.
    Deswegen die EXE die ich auf dem Server ausführen möchte.





    Ist es zwingend notwendig das ich eine neue Seite mit dem php-Code starte, der die EXE ausführt?????



    EDIT: Hab eben in Erfahrung gebracht das die IO-WARRIOR-APi auch von einem delphi-cgi-bin angesprochen werden kann.
     
  10. Also, zunächst einmal würde ich dir raten wenn es möglich ist den IO-Warrior per CGI anzusprechen. Da du VB ja scheinbar recht gut kannst und du wahrscheinlich mehr kannst als nur Fenster und Funktionen mit Hilfe einer grafischen Oberfläche zusammen zu pfuschen. Dürfte es ja für dich kein Problem geben CGI und PHP in den Grundlagen schnell zu erlernen. Sobald du da einen sicheren Stand hast würde ich das ganze tatsächlich gänzlich über eine Scriptsprache lösen (zumindest was das starten angeht). Denn eine unsaubere Schnittstelle (nichts anderes ist das ausführen einer *.exe per PHP) Birgt IMMER große Sicherheitsrisiken. Nicht umsonst wurden gewisse Hirarchien was wie wo wann und von wem gestarten werden darf festgelegt. Denn über das Remote ausführen dieser Exe ermöglichst du unter Umständen einem dritten Zugriff zu deinem System zu verschaffen. Ist zwar abwegig, muss aber nicht sein. Ist schon ärgerlich genug wenn man sich über die von Fremdanbietern eingeschleusten Sicherheitsprobleme gedanken machen muss. Da muss man nicht noch eigene Lücken fabrizieren. Vor allem im Bereich Webserver auf Heim PC's sollte man da verdammt vorsichtig sein, vor allem was die konfiguration des Servers angeht.
    Aber genug meiner Vorträge und Schwarzmalerien. Wollen wir mal wieder von Fakten reden. Wenn ich das richtig sehe und verstehe ist es meines erachtens nicht notwendig eine gänzlich neue Seite aufzumachen um den Code auszuführen. Wenn du es anders haben willst musst du halt das PHP Script ein wenig abändern. Du kannst z.B. bei meiner Variante mit dem target Attribut die Seite in dem bereits geöffneten Browserfenster arbeiten. Aber wie du das genau lösen willst, überlasse ich dir. Fakt ist es ist NICHT zwingend notwendig ein neues Browserfenster zu öffnen. Zum Abschluss noch eine alt bekannte Weisheit eines guten Freundes und sehr sehr guten Web und Anwendungsprogrammierers: MÖGLICH IST ALLES, DIE FRAGE IST NUR WAS ES KOSTEN DARF UND WIE LANGE SIE ZEIT HABEN!!!
     
Die Seite wird geladen...

[Homepage] exe starten (auf Server) per Button - Ähnliche Themen

Forum Datum
Cyberduck läßt sich nicht starten Windows 7 Forum 29. Aug. 2016
warum kann ich robocopy nicht starten Windows 7 Forum 29. Aug. 2016
Tablet-Modus - Anwendung im Vordergrund starten Windows 10 Forum 7. Apr. 2016
Custom Windows 10 App starten Windows 10 Forum 3. März 2016
CMD - String als Datei Parameter starten. Webentwicklung, Hosting & Programmierung 17. Dez. 2015