Stefan: .htaccess & .htpasswd

Hi!

Was muss alles in der .htaccess drinnen stehen, so das nur die Benutzer, die in der .htpasswd drinnenstehen die in diesem Ordner gespeicherten dateien lessen, schreiben und ausführen dürfen (alle anderen sollen NULL Rechte haben)?

Danke
Stefan

  1. Hi,

    Was muss alles in der .htaccess drinnen stehen, so das nur die Benutzer, die in der .htpasswd drinnenstehen die in diesem Ordner gespeicherten dateien lessen, schreiben und ausführen dürfen (alle anderen sollen NULL Rechte haben)?

    .htaccess ist eine Konfigurationsdatei des HTTP-Servers Apache. Es reguliert HTTP-Zugriffe. Dateien existieren in HTTP nicht und können somit nicht gelesen, ausgeführt oder gar geschrieben werden. Von was für Zugriffen redest Du also?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo,

    Was muss alles in der .htaccess drinnen stehen, so das nur die Benutzer, die in der .htpasswd drinnenstehen die in diesem Ordner gespeicherten dateien lessen, schreiben und ausführen dürfen (alle anderen sollen NULL Rechte haben)?

    AuthUserFile /pfad/zu/.htpasswd
    AuthName "Area 51"
    AuthType Basic
    <Limit GET PUT POST>
    require valid-user
    </Limit>

    AuthUserFile, der sollte wenn möglich nicht im Dokumentroot des Webservers liegen, also z.B.
    Dokumentroot des Webservers (also das Verzeichnis, wohin die Besucher kommen, wenn sie dein Domainnamen im Browser aufrufen):
    /home/domainname/public_html/

    dann könnte der Pfad zu .htpasswd so sein
    AuthUserFile /home/domainname/noaccessfromoutside/.htpasswd
    ---
    AuthName: dan kannst du angeben was du möchtest.

    Grüße
    Thomas

    1. Hi!

      Wenn ich also folgendes in die .htaccess schreib, dann passt das?

      AuthUserFile ./.htpasswd
      AuthName "mein Adminbereich"
      AuthType Basic
      <Limit GET PUT POST>
      require valid-user
      </Limit>

      Gibts noch irgendetwas was cih aus Gründen der Sicherheit ändern/beachten soll?

      Danke
      Stefan

      1. Hallo,

        Wenn ich also folgendes in die .htaccess schreib, dann passt das?

        AuthUserFile ./.htpasswd
        AuthName "mein Adminbereich"
        AuthType Basic
        <Limit GET PUT POST>
        require valid-user
        </Limit>

        Gibts noch irgendetwas was cih aus Gründen der Sicherheit ändern/beachten soll?

        Ja, das passt (aber bist du dir sicher, dass du die .htpasswd direkt im Server-Root (Verzeichnis) ablegen willst?)

        Grüße
        Thomas

        1. Hallo Thomas!

          Ja, das passt (aber bist du dir sicher, dass du die .htpasswd direkt im Server-Root (Verzeichnis) ablegen willst?)

          Das hab ich doch nirgens geschrieben *verwirrt*
          "./.htpasswd" heißt doch nur, dass die Datei im selben Ordner liegt wie die .htaccess, ich werde BEIDE Dateien in einen admin-ordner legen...

          lg
          Stefan

          1. Hi,

            Ja, das passt (aber bist du dir sicher, dass du die .htpasswd direkt im Server-Root (Verzeichnis) ablegen willst?)
            Das hab ich doch nirgens geschrieben *verwirrt*

            Doch.

            "./.htpasswd" heißt doch nur, dass die Datei im selben Ordner liegt wie die .htaccess,

            Nein. Ein relativer Pfad für Auth-User-File wird relativ zum Server-Root interpretiert.

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            Schreinerei Waechter
            O o ostern ...
            Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
            1. Aso, danke!

              lg
              Stefan

              1. das funktioniert aber irgendwie nicht :-/
                also mein user is derzeit "test", das pw heißt genauso
                => in der .htpasswd steht:
                test:$1$aSVBP/1T$rBYr7ltwoUDHPFsb1cSGF.

                wenn ich den link aus der .htaccess als link in eine html-datei schreibe führt der Link zur richtigen datei, der user wird aber trotzdem nicht als user akzeptiert, warum?

                .htaccess is:
                AuthUserFile /shop/admin/.htpasswd
                AuthName "Administrationsbereich"
                AuthType Basic
                <Limit GET PUT POST>
                require valid-user
                </Limit>

                DANKE
                Stefan

                1. Hallo,

                  wenn ich den link aus der .htaccess als link in eine html-datei schreibe führt der Link zur richtigen datei, der user wird aber trotzdem nicht als user akzeptiert, warum?

                  Die Frage hast du dir schon selbst beantwortet: "wenn ich den link aus der .htaccess als link in eine html-datei schreibe führt der Link zur richtigen datei" das heisst, der Pfad den du bei "AuthUserFile" angegeben hast ist falsch. (übrigens genau das ist der Grund, warum man .htpasswd-Dateien _nicht_ unter eine Adresse ablegt, die aus dem Internet aufgerufen werden kann.)

                  Siehe meine Antwort unter: [http://forum.de.selfhtml.org/my/?t=134680&m=873909]

                  Grüße
                  Thomas

                  1. hmmm...und kann ichs nicht gleich in die .htaccess auch reinschreiben?
                    (ich hab nicht vollen serverzugriff...)

                    lg
                    Stefan

                    1. Hallo,

                      hmmm...und kann ichs nicht gleich in die .htaccess auch reinschreiben?
                      (ich hab nicht vollen serverzugriff...)

                      Ich verstehe deine Frage nicht.

                      (du kannst alles mögliche in die .htaccess schreiben, bloß der Pfad muss richtig sein)

                      Was für eine Zugriff hast du denn? (Irgendwie muss du ja auf dem Server kommen!)
                      Hast du einen virtuellen Server? (sprich hast du irgendwo ein Domain gekauft, mit Platz am Server etc.?)

                      Grüße
                      Thomas

                      1. Hi!

                        ich hab nur einen Domain und einen webspace => ich kann Dateien nicht unterhalb meines htdocs-ordners abspeicher!

                        Meine frage war ob ich den usernamen und das pw um den admin-bereich betreten zu können statt in die .htpasswd nicht gleich in die .htaccess schreiben kann?

                        DANKE für eure geduld *g*
                        Stefan

                        1. hallo,

                          ich hab nur einen Domain und einen webspace => ich kann Dateien nicht unterhalb meines htdocs-ordners abspeicher!

                          Das ist ein kleines Mißverständnis. Du hast keinen Zugriff _oberhalb_ deines Webspace. Ein Aisweg kann darin bestehen, daß du dir ein Verzeichnis ".ht_daten" (bitte auf den Punkt achten) anlegst, und dort deine .htpasswd hineinlegst.
                          Ein weiteres Mißverständnis könnte die Pfade betreffen. Thomas hat recht, aber sich möglicherweise noch nicht genau genug ausgedrückt: du _mußt_ für diesen Pfad einen Serverpfad angeben, es _darf_ keine URL sein, und alles, was mit "./" anfängt, kannst du getrost sein lassen. Wenn du diesen Pfad nicht kennst, kannst du ihn leicht mit einer kleinen PHP-Datei abfragen, in der nichts anderes steht als eine Abfrage der <http://www.php.net/manual/de/reserved.variables.php#reserved.variables.server@vordefinierten Variablen> DOCUMENT_ROOT.

                          Meine frage war ob ich den usernamen und das pw um den admin-bereich betreten zu können statt in die .htpasswd nicht gleich in die .htaccess schreiben kann?

                          Nein, das kannst du nicht.

                          Grüße aus Berlin

                          Christoph S.

                          --
                          Visitenkarte
                          ss:| zu:) ls:& fo:) va:) sh:| rl:|
                          1. Hallo Christoph,

                            Meine frage war ob ich den usernamen und das pw um den admin-bereich betreten zu können statt in die .htpasswd nicht gleich in die .htaccess schreiben kann?

                            Nein, das kannst du nicht.

                            *LOL* ;-)
                            (du verstehst, worauf sich das bezieht)

                            Grüße
                            Thomas

                            1. hi,

                              Nein, das kannst du nicht.
                              *LOL* ;-)
                              (du verstehst, worauf sich das bezieht)

                              Naja, du hast mich zitiert, ohne auf das Copyright für diesen Satz hinzuweisen, grmpf.

                              Grüße aus Berlin

                              Christoph S.

                              --
                              Visitenkarte
                              ss:| zu:) ls:& fo:) va:) sh:| rl:|
                              1. Hallo,

                                Nein, das kannst du nicht.
                                *LOL* ;-)
                                (du verstehst, worauf sich das bezieht)

                                Naja, du hast mich zitiert,

                                Habe ich nicht! (auch wenn es von der Zeit her so aussieht) :)
                                Ich habe das Posting geschriben, aber nebenbei schaue ich noch die Brecht-Gala auf ARD, also was das Zufall, dass wir dasselbe schrieben.

                                Grüße
                                Thomas

                                1. wow,

                                  nebenbei schaue ich noch die Brecht-Gala auf ARD

                                  Daß wir so viele Gemeinsamkeiten hätten, wußte ich noch nicht. Sag bloß, du schaust jetzt auch noch dasselbe wie ich ...

                                  Grüße aus Berlin

                                  Christoph S.

                                  --
                                  Visitenkarte
                                  ss:| zu:) ls:& fo:) va:) sh:| rl:|
                        2. Hallo,

                          ich hab nur einen Domain und einen webspace => ich kann Dateien nicht unterhalb meines htdocs-ordners abspeicher!

                          »»

                          OK, du brauchst trotzdem den Pfad zu document-root.
                          Du kannst eine PHP-Datei mit einer einzigen Zeile drinn:
                          <? phpinfo(); ?>
                          erstellen und sie dann aufrufen.
                          In der Ausgabe findest du dann unter "Apache Environment" (falls du der Webserver ein Apache ist) die Zeile DOCUMENT_ROOT. (dasselbe steht auch unter "PHP Variables")

                          Das ist der Pfad, der auf dein "htdocs"-Ordner zeigt. Den musst du dann weiter ergänzen um auf deine .htpasswd Datei zu verweisen.

                          Meine frage war ob ich den usernamen und das pw um den admin-bereich betreten zu können statt in die .htpasswd nicht gleich in die .htaccess schreiben kann?

                          Nein, das kannst du nicht.

                          DANKE für eure geduld *g*

                          Bitte,

                          Grüße
                          Thomas

                          1. passt :-)

                            Danke
                            Stefan

          2. Hallo,

            Ja, das passt (aber bist du dir sicher, dass du die .htpasswd direkt im Server-Root (Verzeichnis) ablegen willst?)
            Das hab ich doch nirgens geschrieben *verwirrt*
            "./.htpasswd" heißt doch nur, dass die Datei im selben Ordner liegt wie die .htaccess,

            Wie Andreas sagte: bei der Direktvie AuthUserFile gilt die Prafangabe wenn sie nicht absolut (also mit einem » / « beginnt) als relativ zum Server-Root, d.h. ein ./  bedeutet eben, dass die Datei im Server-Root liegt.
            Du kannst die Datei dort abelgen, das ist nicht die Frage.

            ich werde BEIDE Dateien in einen admin-ordner legen...

            Davon ist wirklich abzuraten.
            Die .htaccess Datei muss du natürlich in dem Verzeichnis ablegen, das du schützen willst.

            Beispiel:

            home/username/
                            public_html/
                            log/
                            ftp/

            public_html ist dein document-root, also das oberste Verzeichnis, was ein Internetsurfer zu Gesicht bekommt.

            poblic_html/
                        index.html
                        cgi-bin/
                        css/
                        images/
                        admin/

            im Verzeichnis admin hast du all die Dateien, die nur bestimmte Besucher sehen dürfen, also legst du dort dein .htaccess-Datei an.
            Aus Sicherheitsgründen ist es besser, wenn die dazugehörige .htpasswd nicht im selben Verzeichnis liegt, ja sogar nicht mal irgendwo unter document-root.
            Deshalb erstellt du im server-root ein neues Verzeichnis, auf das aus dem Internet gar kein Zugriff möglich ist:

            home/username/
                            public_html/
                            log/
                            ftp/
                            secret/

            jetzt kannst du im Verzeichnis secret dein .htpasswd-Datei ablegen und den Pfad dazu in der.htaccess mit:
            AuthUserFile /home/username/secret/.htaccess
            angeben. (username ist hier nur als Beispiel, aber oft lautet der Name dieses Verzeichnisses so, wie der Username, mit man sich als Admin per FTP/SSH auf dem Server einloggt, quasi der Name der Useraccount am Server)

            Grüße
            Thomas