renelecard: Indexierung eines Verzeichnises anzeigen aber download verbieten

Hallo,

Ist hier jemanden bekannt wie ich den Inhalt eines Verzeichnises anzeigen lassen kann, am besten die normale Indexierung von Apache Webserver, aber der Download einer Datei verboten und/oder Passwortgeschützt ist?

bye Rene

  1. hi,

    Ist hier jemanden bekannt wie ich den Inhalt eines Verzeichnises anzeigen lassen kann, am besten die normale Indexierung von Apache Webserver, aber der Download einer Datei verboten und/oder Passwortgeschützt ist?

    zum Thema .htaccess gibts nahezu unzählige Aussagen im </archiv/>

    Grüße aus Berlin

    Christoph S.

  2. Moin Moin !

    Und was hätte das für einen Sinn?

    Wenn Du keine Downloads erlauben willst, dann kannst Du Dir auch den Index verkneifen. Am besten lädst Du die Dateien gar nicht erst hoch.

    Wenn Du Downloads begrenzen willst, kannst Du auch den Index begrenzen. Wenn Du mit dem Index werben willst, speichere ihn als separate Datei oder erzeuge ihn per Script.

    Alexander

    --
    Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
    1. hallo Alexander,

      Und was hätte das für einen Sinn?

      Das kann durchaus Sinn machen. Nimm an, es liegen eine Menge "alter" ZIP-Archive drin, die nicht unbedingt jeder Neubesucher zu sehen und zum Download angeboten bekommen muß. Aber ein "alter Freund" könnte dann beim Administrator nachfragen, ob er das Ding vielleicht freigeschaltet bekommen kann.

      Oder für einen Shop: zeigen, was es alles gibt, aber downloaden erst nach Eingabe der Kreditkartennummer usw.

      Christoph S.

      1. hallo Alexander,

        Und was hätte das für einen Sinn?
        Das kann durchaus Sinn machen. Nimm an, es liegen eine Menge "alter" ZIP-Archive drin, die nicht unbedingt jeder Neubesucher zu sehen und zum Download angeboten bekommen muß. Aber ein "alter Freund" könnte dann beim Administrator nachfragen, ob er das Ding vielleicht freigeschaltet bekommen kann.

        Christoph S.

        Hallo,

        Genau das ist der Fall den ich habe, ich hab viele alte Files die nicht jeder runterladen soll, aber damit die Bescheid wissen das ich die noch habe und die nachfragen sollen wenn sie die haben wollen moecht ich ein Index haben, jedoch ohne direkte Download Möglichkeit.

        Das Passwort mäßige einrichten ist ja kein Problem, das weiß ich mit htaccess, nur eben die Indexierung ohne Downloadmöglichkeit ist mir unbekannt wie man das einrichten soll.
        Hab mir einige htaccess FAQ's durchgelesen nur bin nicht wirklich schlauer geworden, auch Tips ala "Setz doch chmod drwxr-xr-- für die Files damit die gelesen werden können aber nicht executed ..." bringen es nicht da default der Indianer alles was man sehen kann er auch zum download anbietet. Dieses non-execute bringt nur was bei serverseitigen scripts. :(

        rene

        1. hi nochmals,

          Genau das ist der Fall den ich habe, ich hab viele alte Files die nicht jeder runterladen soll, aber damit die Bescheid wissen das ich die noch habe und die nachfragen sollen wenn sie die haben wollen moecht ich ein Index haben, jedoch ohne direkte Download Möglichkeit.

          Es geht zwar auch so, wie du nachgefragt hattest. Ist aber etwas kompliziert. Einfacher ist es, wenn du mit PERL oder PHP die Dateinamen in deinem Archiv auslesen und in ein temporäres Dokument schreiben läßt. Das hat den Vorteil, daß du unten gleich noch ein Bestellformular oder eine mail-Nachricht an dich anhängen kannst. Wenn die Dateinamen nicht als links (anklickbare Verweise) auf diesem Serverdokument stehen, geht ein download auch nicht  -  falls die Serverrechte korrekt gesetzt sind.
          Schwieriger ist es mit dem "Freischalten". Es gibt auch dafür mehrere Wege, einer davon über .htaccess, aber über ein cgi-Programm oder über PHP ist das ebenfalls möglich. Ich hab leider grade keinen link zu irgendeiner Anleitung zur Hand, schau mal, ob du über google was findest.

          Deine Frage hat übrigens einen gewissen "Solitärwert"  -  will heißen, daß wir so etwas entweder sehr selten oder sogar überhaupt noch nicht hier im Forum hatten. In dem Fall gibts für Forums-Teilnehmer so etwas wie die berühmte "Initiativstrafe": wenn du es hingekriegt hast, mußt du darüber einen Artikel für die "Tipps&Tricks" schreiben ;-)

          Grüße aus Berlin

          Christoph S.

          1. Hi,

            Also nach vielen vielen vielen Testreihen habe ich es geschafft -freu-

            Hintergrund:
            Es gibt bei htaccess die Möglichkeit nicht nur für Directories Direktiven zu setzen sondern auch spezifisch für die Files in einem Verzeichnis. Da Apache bei der Anwendung von htaccess jedoch automatisch den Directory Kontext anwendet muß man einfach ihn die Files Kontext umbauen.
            Bedeutet, ich lasse einen User per Web in ein Verzeichnis schauen verbiete ihm jedoch ein "GET" auf die Datei.

            Damit das deutlicher wird hier das Beispiel einer .htaccess Datei:
            [Datei]
            <files "*.zip">
            AuthType Basic
            AuthName "Test Zone"
            AuthUserFile /home/rene/htpass
            require valid-user
            </files>
            [/Datei]

            Somit werden alle *.zip Files in dem Directory zwar angezeigt, jedoch bei einem anklicken bzw aufrufen (GET) der Datei wird der Passwortschutz aktiv.
            Dieses Beispiel kann man anstatt eines FileTyp Wildcards auch auf nur eine bestimmte Datei beziehen, einfach "<files "blablub.txt">" entsprechend setzen.

            Einen kleinen Schönheitsfehler hat das ganze jedoch, setzt man "<files "*">" oder "<files "*.*">" was logisch gedacht eigendlich den Effekt auf alle Dateien haben sollte, wird man sehen das Apache wiederrum das ganze Verzeichniss sperrt und die Files Directive übergeht. Sprich man hat wieder kein Listing das man sehen kann.
            Ich habe es nun auf die schnelle so gemacht das ich alle Dateiendungen in dem Verzeichnis per "<files..." Direktive in die .htaccess gebaut habe, ist vielleicht nicht die feine englische Art, aber funktioniert. :)

            Ich hoffe ich konnte durch meine Testerei anderen helfen.

            bye
            Rene