Announcement

Collapse
No announcement yet.

Programmstart aus Mail heraus mit Parametern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Programmstart aus Mail heraus mit Parametern

    Hi,

    Ich möchte Anwendern meines Programmes emails schicken, mit denen sie durch Klick auf Links das Programm im Intranet mit Parametern aufrufen können (also z.B. \\server\Pfad\Programm.exe /V2214 für Vorgang 2214 oder \\server\pfad\Programm.exe /A4711 für Anfrage 4711). Diese Mail soll vom System erzeugt werden (so nach dem Motto "<Link href=...>Vorgang 2214</Link> wartet auf Ihre Bearbeitung").

    Die Frage ist also nun zweiteilig:

    Wie muss ein Link aussehen, der ein Programm mit Parametern aus einer Email heraus startet? Einfach nur Programmname mit /V2214 klappt nicht, da bekomme ich von Outlook zurück, die Datei \\server\Pfad\Programm.exe \V2214 würde nicht existieren, obwohl im Link der Parameter mit / anfängt, und wenn ich nach alter cgi-Manier den Parameter mit ? abtrenne statt mit Leerzeichen, vergisst der Aufruf einfach, dass er dem Programm Parameter hätte übermitteln sollen.

    Wie kann ich den Link automatisch in eine Mail hängen, bzw einen Body einer Mail erzeugen, die einen solchen Link enthält? Das hier genutzte Mailprogramm ist Outlook.

    Schon mal danke im Voraus und schönes Wochenende

    Martin Dietz

  • #2
    Hallo Martin,

    das Vorhaben so wie du es beschrieben hast wäre ein Rückschritt in der Sicherheit. Stell dir mal eine Link wie
    Code:
    <a href='format c:'>Klick mich</a>
    vor.

    Somit sollte dein Vorhaben aus Sicherheitsgründen nicht umgesetzt werden und ein sinnvolles Betriebssystem bzw. Programm sollte dies auch verhindern.


    Welche Alternativen gibt es also?
    • Eine Webanwendung wäre möglich. Diese Alternative macht jedoch nur Sinn wenn dein Programm noch nicht existiert.
    • ...



    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Zum Thema Sicherheit: Ein Programm kann ich per versendeten Hyperlink aufrufen, nur keine Parameter übergeben, wenn es reine Sicherheitsgründe wären, z.B. weil das Programm schädlich wäre, sollte nicht einmal das funktioniere, denn ich könnte ein Programm oder Batch für mich die Festplatte(n) formatieren lassen, ohne dass ich ihm einen Parameter mitgeben muss, und das lässt Outlook zu. So ganz logisch ist diese Begründung also nicht. Outlook fragt zwar, ob man diesem Programm wirklich vetraut (was auch gut ist) verhindert aber nicht den Programmstart selbst. Wobei wir dann also eher bei der Frage wären, ob MS Windows XP und MS Outlook ein "sinnvolles Betriebssystem bzw. Programm" im Sinne Deiner Wortwahl sind.

      Mal davon abgesehen, dass ich es blödsinnig fände das Versenden von EXEs und Programmstarts aus einem Mailprogramm heraus zu erlauben, und dann bei der Parameterübergabe "aus Sicherheitsgründen" den Riegel davorzuschieben, ein Programm kann viel mehr Schaden anrichten, als ein Link, da wäre es eher im Gegenteil sicherer, Links dürfen ausgeführt werden, so lange sie auf nicht-Systemprogramme verweisen. Aufrufe dahingehend zu beschränken, dass ich keine Parameter übergeben kann, ist nicht nur sinnlos, sondern erst recht eine Sicherheitslücke. Stell Dir mal einen Link auf ein Remote-Login vor, oder ein ftp-Programm, dem Du den Server nicht mitgeben kannst. Du müsstest im Programm alle verfügbaren Server auflisten, auch die, deren Existenz nur bestimmten Personen bekannt sein sein sollte.

      Was bleibt also übrig wenn ich individualisierte Aufrufe per Mail versenden will? Ich kann ja nicht mal eine Verknüpfung erstellen, die die Parameter enthält, und die versenden, weil Outlook dann die Exe versendet, auf die die Verknüpfung verweist (mal davon abgesehen, dass der Mailserver sich vermutlich weigert, die Mail mit Exe-Anhang zuzustellen). Und ich kann auch nicht für jede denkbare Parameterkombination ein Batch vormerken, so dass der Aufruf ohne Parameter vonstatten gehen kann, weil er auf die Batch verweist, und wenn ich gezwungen bin, Batches zu versenden, damit Parameter aufgerufen werden können, dann habe ich erst recht ein Sicherheitsproblem, weil der Empfänger beliebig in der Batch rumfummeln kann, bevor er sie ausführt. Und jedesmal "Bitte öffnen Sie das Befehlsfenster und geben Sie ... ein" ist nicht nur für den Anwender unangenehm, bei Tippfehlern ist die Gefahr einer falschen Aktion auch ohne bösen Willen erst recht viel höher, und wie man im Command Prompt mit Copy und Paste arbeitet wissen vermutlich auch nur 20% der Anwender.


      Eine Webapplikation zu erzeugen, die auf die Datenbank zugreift, um die entsprechenden Informationen anzuzeigen, ist nicht so einfach möglich. Mal davon abgesehen, dass man dann bei Änderungen immer an zwei Baustellen arbeiten muss, wäre es auch extrem kompliziert über den Webserver eine Authentifizierung an das Programm weitergeben zu lassen, zumal sich der Anwender dann auch erstmal am Webserver authentifizieren müsste, wodurch es für ihn einfacher wird, das Programm direkt aufzurufen und sich zum gewünschten Datensatz durchzuhangeln.

      Möglicherweise kommen ja noch ein paar Ideen
      Gruß
      Martin

      Comment

      Working...
      X