basil: benutzerautentizierung

hilfe!

ich möchte aus einer eingabe des benutzernamen und der bekannten adresse des servers den befehl "ftp://%username%@%servername%" zusammensetzen und gleich ausführen (z.B. ftp://bclinton@whitehouse.gov). der servername ist statisch (darf ich hier aber nicht nennen), der benutzername wird vorgängig auf dem server eröffnet. der benutzer soll einfach ein eingabefeld für seinen namen haben und einen bstätigungsbutton zum bestätigen.
kann jemand helfen?

herzlichen dank

basil

  1. Hi,

    ich möchte aus einer eingabe des benutzernamen und der bekannten adresse des servers den befehl "ftp://%username%@%servername%" zusammensetzen und gleich ausführen (z.B. ftp://bclinton@whitehouse.gov).

    eine URL ist kein Befehl, und man kann sie auch nicht ausführen. Beschreibe bitte, was Du machen möchtest.

    der benutzer soll einfach ein eingabefeld für seinen namen haben und einen bstätigungsbutton zum bestätigen.
    kann jemand helfen?

    Sage bitte, mit welchen Technologien Du was machen möchtest. Mit location.href auf einen fremden Server zu leiten wäre beispielsweise ziemlich trivial; einen Up-/Download durchzuführen hingegen ohne CGI samt hinreichend mächtiger Sprache (z.B. Perl mit passendem Modul) utopisch.

    Cheatah

    1. Hallo

      Ich versuchs mit meinen Greenhorn - Kenntnissen nochmals anders zu beschreiben:

      Ich habe einen bestehenden FTP - Server. Auf dem sind zur zeit nur ganz wenige Benutzer eingerichtet. Der Zugriff erfolgt über Hyperlinks auf einer Page welche in etwa folgendermassen aussehen:
      ftp://hkohl@schwarzgeldkonten.li . Durch anwählen dieses Links gelangt man auf den ftp dienst, wird nach username/pwd (manch browser nur PWD) gefragt und kann dann in den Verzeichnissen, für
      welche hkohl Berechtigungen hat, navigieren und File up- und downloaden. Wird nur ftp://schwazgeldkonten.li verwendet, loggen die meisten Browser anonym ein, was nicht erwünscht ist.
      Da es zu aufwendig wäre, für jeden User der neu erfasst, geändert oder gelöscht werden muss, die oben erwähnt Internetseite zu aktualisieren, waren bislang nur einige wenige Konten für ganze Gruppen
      von Benutzern aufgesetzt. Zudem sieht es dähmlich und unprofessionell aus, wenn man vor einer Seite, die mit beinahe identischen Links gefüllt ist,sitzt.
      Gäbe es eine Möglichkeit, den User von der Webseite her mittels seines Usernames mit dem richtigen FTP _Benutzerkonto zu verbinden, könnten mehr individuell abgestimmte Konten eröffnet werden.
      Die notwendigen Technologien sollten in der erforderten Tiefe ohne übermässige Vorkenntnisse (etwas Java und HTML - Programmierkenntnisse vorhanden) innert 24 Std. erarbeitet werden können.

      Grüsse

      Basil

      1. Hi,

        Gäbe es eine Möglichkeit, den User von der Webseite her mittels seines Usernames mit dem richtigen FTP _Benutzerkonto zu verbinden, könnten mehr individuell abgestimmte Konten eröffnet werden.

        spontan sehe ich nur den Weg, die Daten an ein CGI-Script zu schicken, welches schlicht und einfach die Formulardaten zusammensetzt und einen Redirect auf den FTP-Server durchführt. In Perl ein Fünfzeiler.

        Quickhack:

        #!/usr/bin/perl -w
        use strict;
        use CGI ':standard'; # overdone, ich weiß
        print redirect('ftp://'.param('user').':'.param('passwd').'@'.param('host'));

        Hoppla, nur ein Vierzeiler.

        Die notwendigen Technologien sollten in der erforderten Tiefe ohne übermässige Vorkenntnisse (etwas Java und HTML - Programmierkenntnisse vorhanden) innert 24 Std. erarbeitet werden können.

        Wenn wirklich HTML-Programmier(!)kenntnisse vorhanden sind, bist Du weitaus besser als ich, denn ich weiß immer noch nicht, wie man mit einer Strukturbeschreibungssprache programmieren können soll.

        Cheatah

        1. Hallo Cheatah

          Ich danke Dir echt herzlich für Deine Hilfe und entschuldige mich für meine Unkenntnis der korrekten Terminologie.

          Grüsse

          Basil

          Hi,

          Gäbe es eine Möglichkeit, den User von der Webseite her mittels seines Usernames mit dem richtigen FTP _Benutzerkonto zu verbinden, könnten mehr individuell abgestimmte Konten eröffnet werden.

          spontan sehe ich nur den Weg, die Daten an ein CGI-Script zu schicken, welches schlicht und einfach die Formulardaten zusammensetzt und einen Redirect auf den FTP-Server durchführt. In Perl ein Fünfzeiler.

          Quickhack:

          #!/usr/bin/perl -w
          use strict;
          use CGI ':standard'; # overdone, ich weiß
          print redirect('ftp://'.param('user').':'.param('passwd').'@'.param('host'));

          Hoppla, nur ein Vierzeiler.

          Die notwendigen Technologien sollten in der erforderten Tiefe ohne übermässige Vorkenntnisse (etwas Java und HTML - Programmierkenntnisse vorhanden) innert 24 Std. erarbeitet werden können.

          Wenn wirklich HTML-Programmier(!)kenntnisse vorhanden sind, bist Du weitaus besser als ich, denn ich weiß immer noch nicht, wie man mit einer Strukturbeschreibungssprache programmieren können soll.

          Cheatah

          1. Hi,

            Ich danke Dir echt herzlich für Deine Hilfe

            gern geschehen.

            und entschuldige mich für meine Unkenntnis der korrekten Terminologie.

            Du brauchst Dich nicht zu entschuldigen. Über meine Art der Antworten wird zeitweise viel diskutiert ;-) letztlich meine ich es aber als Hilfe, auch wenn Arroganz und Sarkasmus Dir entgegenspringen wie Popups auf XXX-Seiten.

            Cheatah

            1. Ciao

              no prob, ich habe kein Problem, mich belehren zu lassen, wenn jemand von etwas mehr versteht, als ich.
              Kannst Du mir vieleicht noch auf die Sprünge helfen, wie ich Deinen Vierzeiler in meine Page integriere? Muss ich meinem Linux noch irgendwelche Tricks beibringen?

              Grüsse

              Basil

              Hi,

              Ich danke Dir echt herzlich für Deine Hilfe

              gern geschehen.

              und entschuldige mich für meine Unkenntnis der korrekten Terminologie.

              Du brauchst Dich nicht zu entschuldigen. Über meine Art der Antworten wird zeitweise viel diskutiert ;-) letztlich meine ich es aber als Hilfe, auch wenn Arroganz und Sarkasmus Dir entgegenspringen wie Popups auf XXX-Seiten.

              Cheatah

              1. Hi,

                Kannst Du mir vieleicht noch auf die Sprünge helfen, wie ich Deinen Vierzeiler in meine Page integriere?
                Muss ich meinem Linux noch irgendwelche Tricks beibringen?

                hm ... an dieser Stelle scheinen ein *paar* Kenntnisse zu fehlen.
                "In Deine Seite integrieren" trifft den Punkt nicht.

                Cheatah meinte, daß Du das angegebene Skript als CGI-Anwendung des verwendeten Webservers installieren und von Deiner HTML-Seite aus Verweise darauf setzen kannst.
                Dazu mußt Du aber sowohl verstehen, was CGI ist und wie es funktioniert, als auch, ob Du das auf dem Server darfst (bzw. wie Du es freischalten kannst, wenn es Dein eigener Linux-Server ist).
                Der beizubringende "Trick" würde dabei in der Konfiguration des Webservers (ein Apache, nehme ich mal an?) stattfinden, nicht "in Linux". Ach ja, wie man bei Dir den Perl-Interpreter aufruf (exakte Pfadangabe), solltest Du auch kurz nachsehen (wahrscheinlich paßt Cheatahs Angabe in Zeile 1 des Skripts aber bereits).

                Lektüre hierzu:

                mfG - Michael

                1. Hi

                  Ich habe nun das script in eine kleine Datei gepackt, welche ich login.cgi getauft habe und im Verzeichnis /usr/local/httpd/cgi-bin/ abgelegt habe.
                  Der Test mit perl -c login.cgi ergibt keinen syntaxfehler.
                  Der Test mit user=bhaag ¦ perl login.cgi liefert mir den erwarteten Output bhaag@host.
                  im html - Dokument rufe ich das Script folgendermassen auf:

                  <HTML>
                  <HEAD><TITLE>Willkommensseite</TITLE></HEAD>
                  <BODY>
                  <H1>Willkommen </H1>
                  <FORM ACTION="/usr/local/httpd/cgi-bin/login"
                  METHOD="GET">
                  Geben Sie Ihren Benutzernamen ein:
                  <INPUT TYPE="text"
                          NAME="user"
                                 SIZE=20>
                  <P>
                  <INPUT TYPE="submit" VALUE="Login!">
                  <INPUT TYPE="reset" VALUE="Falsch!">
                  </FORM>
                  <HR>
                  </BODY>
                  </HTML>

                  Damit wird mir im Browser jedoch nur der Inhalt (Listing) der cgi - Datei angezeigt.
                  Das gleich geschieht, wenn ich der Script - Datei gar keine Endung verpasse.
                  Setze ich die Endung .pl öffnet der Browser ein Fenster, in welchem ich eine Datei speichen kann (...???).
                  Die Anwendung Perl befindet sich in dem Verzeichnis, welches ich in der ersten Zeile der Script - Datei mit #!/usr/bin/perl -w aufrufe.
                  Wâs mache ich falsch ?

                  Grüsse

                  Basil

                  1. Hi,

                    [...] im Verzeichnis /usr/local/httpd/cgi-bin/ abgelegt habe.
                    <FORM ACTION="/usr/local/httpd/cgi-bin/login"

                    unterscheide zwischen Pfaden im Filesystem und im virtuellen Serversystem. Beide sind vollkommen unterschiedlich und haben prinzipiell nichts miteinander zu tun - auch wenn sich häufig das eine leicht auf das andere abbilden läßt.

                    Während Dein erstgenannter Pfad im Filesystem richtig ist, muß der Pfad via HTTP vermutlich "/cgi-bin/login.cgi" lauten.

                    Cheatah

                    1. Hi

                      Das scheint's nicht zu sein, da ich das erst so drin hatte.
                      Gibts ne möglichkeit, die virtuelle Filestruktur ausfindig zu machen?

                      Grüsse

                      Basil

                      1. Hi,

                        Gibts ne möglichkeit, die virtuelle Filestruktur ausfindig zu machen?

                        Serverkonfiguration angucken.

                        Cheatah

                  2. Hi auch,

                    Damit wird mir im Browser jedoch nur der Inhalt (Listing) der cgi - Datei angezeigt.
                    Das gleich geschieht, wenn ich der Script - Datei gar keine Endung verpasse.

                    Dein CGI-Verzeichnis ist offensichtlich nicht als CGI-Verzeichnis in der Konfiguration des Webservers eingetragen - denn der Webserver tut das, was er bei normalen HTML-Dokumenten auch tun würde, nämlich ihren Inhalt zurückzuliefern.

                    Setze ich die Endung .pl öffnet der Browser ein Fenster, in welchem ich eine Datei speichen kann (...???).

                    Das liegt daran, daß der Webserver Dir nun (bei der Endung .pl) einen MIME-Typ mitliefert, den Dein Browser nicht anzuzeigen können glaubt.

                    Die Anwendung Perl befindet sich in dem Verzeichnis, welches ich in der ersten Zeile der Script - Datei mit #!/usr/bin/perl -w aufrufe.
                    Wâs mache ich falsch ?

                    Du nimmst Dinge an, die nicht so gegeben sind, wie Du glaubst.
                    Lies http://www.teamone.de/selfaktuell/artikel/schroepl03.htm#a6 und kläre die Details mit Deinem Provider.

                    mfG - Michael