Ben: Netzwerknachrichten über Formular verschicken?

Hallo,

ich möchte gern für unser internes LAN eine kleine Seite bauen, die dann einige Funktionen enthalten soll.

Ich würde gern die Möglichkeit einbauen, über ein kleines Formular Nachrichten über das Netzwerk zu versenden.
Die PC`s haben alle Win2000. Normalerweise ist es ja möglich, über die Eingabeaufforderung und dem Befehl "net send computername nachricht".
Gibt es da vielleicht eine Möglichkeit, soetwas per Formular zu realisieren?

Viele Grüße
Ben

--
Phantasie ist wichtiger als Wissen. - Albert Einstein
  1. Hallo Ben,

    Ich würde gern die Möglichkeit einbauen, über ein kleines Formular Nachrichten über das Netzwerk zu versenden.
    Die PC`s haben alle Win2000. Normalerweise ist es ja möglich, über die Eingabeaufforderung und dem Befehl "net send computername nachricht".
    Gibt es da vielleicht eine Möglichkeit, soetwas per Formular zu realisieren?

    Wie wäre es mit der Funktion exec()?
    http://www.php.net/manual/de/ref.exec.php

    Auf die Risiken und Nebenwirkungen brauche ich Dich wohl nicht hinzuweisen... ;-)

    Gruss,

    Vinzenz

    1. Hi Vinzenz,

      das scheint ja genau das zu sein, was ich suche. Bin in dem Bereich aber ziemlich planlos. Wie lautet denn der Aufruf für die Eingabeaufforderung bzw. um dort etwas einzugeben und abzusenden?

      Auf die Risiken und Nebenwirkungen brauche ich Dich wohl nicht hinzuweisen... ;-)

      Kann mir denken, dass dies ein Sicherheitsrisiko sein kann, aber da es ja nur für das Intranet ist, dürfte das nicht so das Problem darstellen. :-)

      Vielen Dank schonmal!

      Viele Grüße
      Ben

      --
      Phantasie ist wichtiger als Wissen. - Albert Einstein
      1. Hallo Ben

        das scheint ja genau das zu sein, was ich suche. Bin in dem Bereich aber ziemlich planlos. Wie lautet denn der Aufruf für die Eingabeaufforderung bzw. um dort etwas einzugeben und abzusenden?

        Das hast Du in Deinem ersten Posting doch bereits geschrieben:
            net send Computername message

        Noch besser bekommst Du die Syntax von net send mit (Überraschung ;-))
            net send /?

        Nun zu exec()
        string exec ( string befehl [, array ausgabe [, int return_var]])

        Dein 'string befehl' ist in etwa:
        $befehl = "net send ziel <textarea-inhalt>"

        Und ich weiß ganz genau, daß Du weißt, wie Du auf den Inhalt einer Textarea zugreifst, inzwischen über die Superglobals $_GET bzw. $_POST.

        Auf die Risiken und Nebenwirkungen brauche ich Dich wohl nicht hinzuweisen... ;-)
        Kann mir denken, dass dies ein Sicherheitsrisiko sein kann, aber da es ja nur für das Intranet ist, dürfte das nicht so das Problem darstellen. :-)

        Dennoch solltest Du Dir

        <cite>

        Beachten Sie, dass wenn Sie Benutzereingaben an diese Funktion übergeben, diese mit escapeshellcmd()  behandelt, um sicherzustellen, dass niemand mit willkürlichen Befehlen Ihrem System Schaden zufügen kann.

        </cite>

        zu Herzen nehmen.

        Deine Formulareingaben sind eine derartige Benutzereingabe.

        Anmerkung: Dein Formular bietet Dir etwas, was die Kommandozeile nicht bietet: Zeilenumbrüche in der Nachricht an beliebiger Position.

        Gruss,

        Vinzenz

      2. Hallo Ben,

        das wird Dir nicht viel nützen, da der User und damit der Absender der Nachricht dann immer der Websewrver wäre. Du willst ja uf die erweiterte Shell des Clients zugreifen, der dann über seine Neztwerkinterrups ein Fenster aufklappt und die Nachricht anzeigt. Das geht mit dem Browser (zumindest, soweit das dokumentiert ist) überhaupt nicht. Er ist nicht dafür vorgesehen.

        Du könntest Dir aber ein entsprechendes Programm mit Hilfe von C++ oder auch Visual Basic / Netbasic selber schreiben. Die haben beide Zugriff auf die Netzwerkschicht der Clientshell. Den Rest regelt dann, bei richtiger Nutzung  des vorgesehenen Interrupts, der Server.

        PHP ist da der falsche Ansprechpartner.

        Warum richtest Du nicht ein Postoffice ein für das LAN und benutzt einen SMTP/POP3-Client?

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
        1. Hallo Tom,

          das wird Dir nicht viel nützen, da der User und damit der Absender der Nachricht dann immer der Websewrver wäre.

          <schäm>_Daran_ hab ich gar nicht gedacht. Du hast ja so recht.</schäm>

          Du könntest Dir aber ein entsprechendes Programm mit Hilfe von C++ oder auch Visual Basic / Netbasic selber schreiben. Die haben beide Zugriff auf die Netzwerkschicht der Clientshell. Den Rest regelt dann, bei richtiger Nutzung  des vorgesehenen Interrupts, der Server.

          Mit VB, z.B. auch VBA wirklich sehr easy. Hab' ich mal als n-Zeiler, n <10, für Excel gemacht.

          Sollte auch mit VB-Script gehen, und damit im Internet-Explorer gehen. Der IE sollte auf den W2K-Maschinen überall vorhanden sein.

          Warum richtest Du nicht ein Postoffice ein für das LAN und benutzt einen SMTP/POP3-Client?

          *g* Eine Standardinstallation einer x-beliebigen Linux-Distribution (+ wenige Änderungen) sollte es auch tun. Dann kann Ben auch endlich mal seine Webseiten auf einen apache unter Linux stellen ;-)

          Gruss,

          Vinzenz

          1. Hi Vinzenz,

            *g* Eine Standardinstallation einer x-beliebigen Linux-Distribution (+ wenige Änderungen) sollte es auch tun. Dann kann Ben auch endlich mal seine Webseiten auf einen apache unter Linux stellen ;-)

            Also hier läuft ein Linux-Server mit Apache, aber das hat nix mit meinen privaten Seiten zu tun. ;-)

            Viele Grüße
            Ben

            --
            Phantasie ist wichtiger als Wissen. - Albert Einstein
        2. Hi Tom,

          da muss ich wohl doch wieder auf deinen C-Kurs zurückkommen, hm? ;-)

          Vielleicht finde ich ja im Netz irgendwo ein Tutorial für so ein kleines Feature.

          Vielen Dank für Eure Tipps, werde sicherlich die Tage nochmal nachfragen. :-)

          Viele Grüße
          Ben

          --
          Phantasie ist wichtiger als Wissen. - Albert Einstein
          1. Hi

            da muss ich wohl doch wieder auf deinen C-Kurs zurückkommen, hm? ;-)

            Ich melde mich auch mal freiwillig, würde das in den Sommerferien 'eh autodidaktisch machen (und ich denke das die Grundlagen in 6 Wochen locker zu machen ist mit meinem Vorwissen, habe PHP ja auch in drei Wochen begriffen)...

            Vielleicht finde ich ja im Netz irgendwo ein Tutorial für so ein kleines Feature.

            Vielen Dank für Eure Tipps, werde sicherlich die Tage nochmal nachfragen. :-)

            Ich habe zufällig heute das gleiche Problem gehabt, weil Windows' Netzwerkcode nicht halb so flexibel ist, wie der von Linux und ich suche einen cross-platform-"winpopup"-clone...
            Also meld dich mal hier oder direkt bei mir, wenn du was findest ;-)

            Fabian

            1. Hallo Fabian,

              Ich habe zufällig heute das gleiche Problem gehabt, weil Windows' Netzwerkcode nicht halb so flexibel ist, wie der von Linux und ich suche einen cross-platform-"winpopup"-clone...

              Warum? Warum sollte es cross-platform sein? Sind die Socket-Bibliotheken nicht plattformabhängig?

              Also meld dich mal hier oder direkt bei mir, wenn du was findest ;-)

              Warum verwendest Du unter Linux nicht
                  smbclient -M

              Dafür läßt sich bestimmt leicht ein GUI schreiben. Genauer: Dafür existieren jede Menge GUIs. ;-)
              Das soll Dich aber nicht davon abhalten, zu Deiner Fortbildung ein weiteres zu schreiben. *g*

              Gruss,

              Vinzenz

              1. Hi

                Also meld dich mal hier oder direkt bei mir, wenn du was findest ;-)

                Warum verwendest Du unter Linux nicht
                    smbclient -M

                Oh, das tue ich, unter Linux habe ich ja auch keine Probleme, nur will es mir nicht geligen, von Win _nach_ Linux zu "posten"...

                Dafür läßt sich bestimmt leicht ein GUI schreiben. Genauer: Dafür existieren jede Menge GUIs. ;-)

                Wie gesagt, das Problem liegt wie so oft auf Win-Seite.

                Fabian

                1. Hallo Fabian,

                  Oh, das tue ich, unter Linux habe ich ja auch keine Probleme, nur will es mir nicht geligen, von Win _nach_ Linux zu "posten"...

                  Dafür läßt sich bestimmt leicht ein GUI schreiben. Genauer: Dafür existieren jede Menge GUIs. ;-)
                  Wie gesagt, das Problem liegt wie so oft auf Win-Seite.

                  Nun, in diesem Falle bin ich etwas anderer Meinung:
                  _Du_ musst Deinem Linux beibringen, wie es die Nachricht anzeigen soll.

                  Wie das geht, steht in
                      man 5 smb.conf
                  Abschnitt
                      message command (G)

                  Gruss,

                  Vinzenz

                  PS: Google hat mir auch irgendwas von einem 'LinPopup' ausgespuckt...

              2. Hallo Vinzenz,

                Warum? Warum sollte es cross-platform sein? Sind die Socket-Bibliotheken nicht plattformabhängig?

                Die Windows Sockets Bibliothek ist zumindest in den Grundfunktionen der unter UNIX sehr ähnlich. Man muss sich unter Windows »nur« zusätzlich um noch eine ganze Menge Handle-Krimskrams und so kümmern, was unter UNIX nicht notwendig ist. (War zumindest bei der unter Windows 3.11 (sic!) so, da gab es etliche Funktionen in der winsock.dll, die hießen alle WSAirgendwas; mit späteren Versionen habe ich mich nicht befasst)

                Außerdem gibt es schon Abstraktionsebenen, beispielsweise bietet das QT-Toolkit Plattformübergreifende Netzwerkprogrammiermöglichkeiten an:

                http://www.trolltech.com/

                Christian

                --
                Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.
                1. Hallo Christian,

                  Die Windows Sockets Bibliothek ist zumindest in den Grundfunktionen der unter UNIX sehr ähnlich. Man muss sich unter Windows »nur« zusätzlich um noch eine ganze Menge Handle-Krimskrams und so kümmern, was unter UNIX nicht notwendig ist. (War zumindest bei der unter Windows 3.11 (sic!) so, da gab es etliche Funktionen in der winsock.dll, die hießen alle WSAirgendwas; mit späteren Versionen habe ich mich nicht befasst)

                  Vor ein paar Jahren habe ich als Teilnehmer einer Weiterbildungsmassnahme des Arbeitsamts mit zwei weiteren Kurskollegen im Netzwerkteil des Kurses Tic-Tac-Toe als Client/Server-Anwendung entwickelt.

                  Ich kann mich düster daran erinnern, dass die Portierung des Clients von Linux auf OpenVMS problemlos war, fast source-kompatibel (ein oder zwei Bibliotheken besaßen andere Namen), dass wir aber die Portierung nach Windows nicht hinbekommen haben (zu wenig Zeit).

                  Außerdem gibt es schon Abstraktionsebenen, beispielsweise bietet das QT-Toolkit Plattformübergreifende Netzwerkprogrammiermöglichkeiten an:

                  http://www.trolltech.com/

                  Danke, da werde ich mal reinschauen :-)

                  Gruss,

                  Vinzenz

            2. Hi Fabian,

              Ich habe zufällig heute das gleiche Problem gehabt, weil Windows' Netzwerkcode nicht halb so flexibel ist, wie der von Linux und ich suche einen cross-platform-"winpopup"-clone...
              Also meld dich mal hier oder direkt bei mir, wenn du was findest ;-)

              Sobald ich was finde, lasse ich es dich gern wissen. Kein Problem. :-)

              Viele Grüße
              Ben

              --
              Phantasie ist wichtiger als Wissen. - Albert Einstein
            3. Hi,

              da muss ich wohl doch wieder auf deinen C-Kurs zurückkommen, hm? ;-)
              Ich melde mich auch mal freiwillig, würde das in den Sommerferien 'eh autodidaktisch machen (und ich denke das die Grundlagen in 6 Wochen locker zu machen ist mit meinem Vorwissen, habe PHP ja auch in drei Wochen begriffen)...

              Du Trommler[tm] *g*. Ich nehm Dich beim Wort. C Grundlagen lernen wird man wohl in drei Wochen= 3*5*8Std. = 120 Stunden locker schaffen. Netzwerkprogrammierung dann eher nicht so schnell, denn da geht es runter auf die API-Ebene (Assembler) und man muss sich mit nicht vorhandenen Dokumentationen herumschlagen. Das ist scheinbar "Geheimwissenschaft". Ich suche schon lange neuere Literatur zu Windows und Novell "Netzwerkinterrupts". Muss ich USA recherchieren. Gibts hier nicht mehr.

              Mal ne Frage an die Linux-Profis. Welche Möglichkeiten für "send" gibts denn da? Fehlt mir auch der Überblick.

              Liebe Grüße aus http://www.braunschweig.de

              Tom

              --
              Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
              1. Hallo Thomas,

                Netzwerkprogrammierung dann eher nicht so schnell, denn da geht es runter auf die API-Ebene (Assembler) und man muss sich mit nicht vorhandenen Dokumentationen herumschlagen.

                Du kennst die BSD-Socket-Implementierung nicht, die auch unter Windows vorhanden ist? Ich habe ein bisschen damit rumprobiert und habe keine einzige Zeile Assembler dabei geschrieben und auch keine einzige richtige Lowlevel-Funktion eingesetzt.

                Ich suche schon lange neuere Literatur zu Windows und Novell "Netzwerkinterrupts".

                Meinst Du jetzt direkt das Ethernet-Protokoll oder meinst Du TCP/IP oder ganz was anderes?

                Mal ne Frage an die Linux-Profis. Welche Möglichkeiten für "send" gibts denn da?

                Was willst Du mit welchem Protokoll (auch welcher ISO/OSI-Ebene) wohin schicken?

                Christian

                --
                Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.
              2. Hi Tom,

                da muss ich wohl doch wieder auf deinen C-Kurs zurückkommen, hm? ;-)
                Ich melde mich auch mal freiwillig, würde das in den Sommerferien 'eh autodidaktisch machen (und ich denke das die Grundlagen in 6 Wochen locker zu machen ist mit meinem Vorwissen, habe PHP ja auch in drei Wochen begriffen)...

                Du Trommler[tm] *g*.

                *Hmpf* >;)

                Ich nehm Dich beim Wort. C Grundlagen lernen wird man wohl in drei Wochen= 3*5*8Std. = 120 Stunden locker schaffen.

                Denk ich auch.

                Netzwerkprogrammierung dann eher nicht so schnell, denn da geht es runter auf die API-Ebene (Assembler) und man muss sich mit nicht vorhandenen Dokumentationen herumschlagen.

                Das ist auch nicht das primäre Ziel, ich habe das jetzt nur hier erwähnt, das hat (zumindest mit meinen Intentionen C zu lernen) nichts mit Networking zu tun. Dass das hinterher dazu kommt ist logisch, aber darum geht es mir halt (noch) nicht.

                Das ist scheinbar "Geheimwissenschaft". Ich suche schon lange neuere Literatur zu Windows und Novell "Netzwerkinterrupts". Muss ich USA recherchieren. Gibts hier nicht mehr.
                Mal ne Frage an die Linux-Profis. Welche Möglichkeiten für "send" gibts denn da? Fehlt mir auch der Überblick.

                Wie meinst du das? Christians Antwort war auch eher mager (IMO), da du nicht genau definierst was du meinst, denn zu "send" per se fallen mir tausende Seite man-pages ein ;-))

                Fabian

              3. Hallo

                »Netzwerkprogrammierung dann eher nicht so schnell, denn da geht es runter auf die API-Ebene (Assembler) und man muss sich mit nicht vorhandenen Dokumentationen herumschlagen. Das ist scheinbar "Geheimwissenschaft".

                /* besser einfach Bibliotheken einbinden */

                #include <socket.h>

                Gruss,

                Vinzenz