Christian Bliß: Geschützer Ordner

Hallo,

ich möchte einen Ordner vor unbefugtem Zugriff schützen. Jedoch soll ein PERL-Programm prüfen, ob ein bestimmter Nutzer zugreifen darf. Falls ja, soll der Nutzer Zugriff auf den geschützen Ordner erhalten.

Zuerst dachte ich an .htaccess - jedoch muss dann ein Nutzer nach erfolgreicher Verifizierung durch mein PERL-Programm die .htaccess-Nutzerdaten eingeben.

Dann dachte ich an ein Programm download.pl, welches einen redirect-Header mitsamt .htaccess-Zugangsdaten enthält. Jedoch funktioniert dieses im IE nicht und Firefox warnt den Benutzer unter Angabe des .htaccess-Benutzernames.

Idee: print new CGI->redirect("http://name:pw@www.domain.de/ordner/inhalt.jpg);

Was könnte ich alternativ noch probieren? Was habt ihr für Ideen?

Gruß
Christian Bliß

--
Selfcode: fo:| ch:{ rl:( br:> n4:~ ie:% mo:} va:) de:< zu:| fl:( ss:) ls:> js:{
  1. Hallo,

    Gerde kommt mir eine Idee - funktioniert folgendes?

    Root: /www/html/www123/domain/webroot

    www.domain.de -> /www/html/www123/webroot

    zu schützender Ordner /www/html/www123/domain/ordner

    durch http://www.domain.de hat nun kein Besucher mehr Zugriff.

    Aber wie kann der Nutzer dann zugreifen? Bietet mir PERL eine Möglichkeit auch "außerhalb" der Domain auf Ordner zuzugreifen und dem Nutzer den Inhalt ins Browserfenster zu senden?

    Gruß
    Christian Bliß

    --
    Selfcode: fo:| ch:{ rl:( br:> n4:~ ie:% mo:} va:) de:< zu:| fl:( ss:) ls:> js:{
  2. hi,

    ich möchte einen Ordner vor unbefugtem Zugriff schützen. Jedoch soll ein PERL-Programm prüfen, ob ein bestimmter Nutzer zugreifen darf. Falls ja, soll der Nutzer Zugriff auf den geschützen Ordner erhalten.

    Zuerst dachte ich an .htaccess - jedoch muss dann ein Nutzer nach erfolgreicher Verifizierung durch mein PERL-Programm die .htaccess-Nutzerdaten eingeben.

    Wozu in so einem Falle denn überhaupt die vorherige Verifizierung durch ein Script - wenn der Nutzer sich durch Angabe von Zugangsdaten per HTTP Auth identifiziert, reichte das doch eigentlich aus?

    Dann dachte ich an ein Programm download.pl, welches einen redirect-Header mitsamt .htaccess-Zugangsdaten enthält.

    Nee, ist auch nicht sinnvoll - Gründe fallen dir ja selber schon ein.

    Was könnte ich alternativ noch probieren? Was habt ihr für Ideen?

    Das die Berechtigung prüfende Script nicht irgendwohin "weiterleiten", sondern es selbst die Daten von Platte lesen, und - nebst Auslösung passender Content-Type-Header - an den Client ausgeben lassen.
    HTTP-Zugriffe werden für die betroffenen Dateien dann vollständig unterbunden, und nur noch das Script erfüllt die Aufgabe, sie an den Client durchzuschleusen.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo,

      Wozu in so einem Falle denn überhaupt die vorherige Verifizierung durch ein Script - wenn der Nutzer sich durch Angabe von Zugangsdaten per HTTP Auth identifiziert, reichte das doch eigentlich aus?

      Nein, das ist etwas komplizierter. Dazu müsste ich dir die ganze Theorie des Programmes erklären. Kurz: Ich kann nicht jedem Benutzer die .htaccess-Daten zusenden und ich kann nicht für jeden Benutezr einen eigenen .htaccess-Zugang einrichten.

      Das die Berechtigung prüfende Script nicht irgendwohin "weiterleiten", sondern es selbst die Daten von Platte lesen, und - nebst Auslösung passender Content-Type-Header - an den Client ausgeben lassen.
      HTTP-Zugriffe werden für die betroffenen Dateien dann vollständig unterbunden, und nur noch das Script erfüllt die Aufgabe, sie an den Client durchzuschleusen.

      Das klingt sehr interessant. Jedoch verstehe ich nicht ganz, wie ich das realisieren kann. Bei den Daten handelt es sich übrigens um Bilder. Welche Content-Type-Header nutze ich da? Wie genau müsste so ein Script in der Theorie aussehen?

      Gruß
      Christian Bliß

      --
      Selfcode: fo:| ch:{ rl:( br:> n4:~ ie:% mo:} va:) de:< zu:| fl:( ss:) ls:> js:{
      1. hi,

        Das klingt sehr interessant. Jedoch verstehe ich nicht ganz, wie ich das realisieren kann. Bei den Daten handelt es sich übrigens um Bilder. Welche Content-Type-Header nutze ich da?

        Den zum Bildtyp passenden, mit image/ beginnenden.

        Wie genau müsste so ein Script in der Theorie aussehen?

        Script prüft Berechtigung,
        Script löst entsprechenden Content-Type-Header aus,
        Script liest Datei von Platte und gibt die Daten an den Client aus.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hallo,

          Script prüft Berechtigung,
          Script löst entsprechenden Content-Type-Header aus,

          OK - soweit verstanden. Sehr gute Idee!

          Script liest Datei von Platte und gibt die Daten an den Client aus.

          Wie kann ich das in PERL lösen? Habe das noch nie gemacht.
          Normalerweise gebe ich nur HTML aus ... und mit <IMG src=""> werde ich wohl nicht weit kommen, oder? ;)

          Gruß
          Christian Bliß

          --
          Selfcode: fo:| ch:{ rl:( br:> n4:~ ie:% mo:} va:) de:< zu:| fl:( ss:) ls:> js:{
          1. Hallo,

            Script liest Datei von Platte und gibt die Daten an den Client aus.

            Wie kann ich das in PERL lösen? Habe das noch nie gemacht.
            Normalerweise gebe ich nur HTML aus ... und mit <IMG src=""> werde ich wohl nicht weit kommen, oder? ;)

            Danke für die Mühe, habe es durch ausprobieren selbst herausgefunden! :)

            print "Content-type: image/jpeg\n\n";

            open(BILD, "/www/html/www123/domain/ordner/bild.jpg");
            print <BILD>;
            close(BILD);

            Gruß
            Christian Bliß

            --
            Selfcode: fo:| ch:{ rl:( br:> n4:~ ie:% mo:} va:) de:< zu:| fl:( ss:) ls:> js:{