N-Dye: htaccess

Hi leute!

Ich habe mir einen Apache-server aufgebaut und will eine seite vor zugriffen schützen. Hab mir schon viel über .htaccess durchgelesen und auch schon vieles ausprobiert aber es will einfach nicht klappen.
(leider auch nicht mit euren tipps)

Wie kann ich in windows einen punkt vor htaccess ( .htaccess ) setzen?
Habe bis jetzt immer nur "htaccess) benutzt.

Ich erhalte dann immer die fehlermeldung:
Geben Sie einen Dateinamen ein

Und wenn ich auf die seite zugreife öffnet sie sich einfach ohne das htaccess aktiviert wird.

Bitte um hilfe!!!

THX

Bereich LogIn

  1. Hallo,

    so solls klappen:

    *  DOS-Box öffnen
        *  copy con .htaccess eingeben
        *  F6 drücken und mit Return bestätigen
        *  Voila, es existiert eine echte .htaccess im gewählten Verzeichnis, die mit dem Editor bearbeitet werden kann.

    Viel Erfolg!

    MfG
    Primus

    1. Hi und DANKE!

      Mit dem tipp hat es geklappt, die Datei ist bennant. :)
      Nur leider komme ich imer noch ohne weiteres auf die seite. :(

      Hab mir schon allgemeines zu htaccess durchgelesen und mich schon an die anleitung gehalten doch nichts klappt. browser geht immer noch ohne anmeldung auf die LogIn-seite. Wo kann ich noch fehler gemacht haben oder wad hab ich übersehen?

      Bin sehr ratlos!!!

      .htaccess:

      AuthType Basic
      AuthName "UserX"
      AuthUserFile /xxx/.htpasswd
      require user UserX

      Die dateien liegen in verzeiochniss wobei index mein hauptverzeichniss ist.

      x:\apache2\index\xxx\

      Dieses verzeichniss will ich auch schützen

      Danke schon mal hier! :]

      1. Hallo N,

        Wo kann ich noch fehler gemacht haben oder wad hab ich übersehen?

        Hast du in deiner httpd.conf vielleicht noch irgendwo "AllowOverride = None" stehen?
        Wenn ja, so bringen dir tausende von .htaccess-Dateien rein gar nichts.
        Damit es funktioniert kann man an dieser Stelle "AllowOverride = All" hinschreiben.

        P.S.: Wenn du im "Speichern unter..." Dialog des Editors ".htaccess" eingibst (inklusive der Anführungszeichen!), so sollte dieser die Datei normal abspeichern können.

        Bis dann!

        Marc Reichelt || http://www.marcreichelt.de/

        --
        Linux is like a wigwam - no windows, no gates and an Apache inside!
        Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
        http://emmanuel.dammerer.at/selfcode.html
        1. Hallo an Alle!!!

          Danke für die ganzen tipps! und das mir so zahlreich geholfen wird!

          Hast du in deiner httpd.conf vielleicht noch
          irgendwo "AllowOverride = None" stehen?

          Muss ich bei jedem "AllowOverride none" die einstellung auf "AllowOverride all" setzen?

          Muss ich AuthGroup angeben?
          hab ich in meiner .htaccess weggelassen?

          THX

          1. Hallo N-Dye,

            Muss ich bei jedem "AllowOverride none" die einstellung auf "AllowOverride all" setzen?

            Nein, nur an einer entsprechenden Stelle - ich glaube das ist im DocumentRoot-Bereich.

            Muss ich AuthGroup angeben?
            hab ich in meiner .htaccess weggelassen?

            Wenn du deine Benutzer in Gruppen verwaltest, dann wäre das empfehlenswert. Machst du aber bestimmt nicht... ;-)

            Deine Datei sollte dann also insgesamt ungefähr diesen Inhalt haben:
            AuthType Basic
            AuthName "UserX"
            AuthUserFile x:/apache2/index/xxx/.htpasswd
            require user UserX

            Übrigens ist es empfehlenswert, die .htpasswd-Datei außerhalb deines DocumentRoot zu lagern - einfach die .htpasswd verschieben und die Variable "AuthUserFile" dementsprechend anpassen.

            Bis dann!

            Marc Reichelt || http://www.marcreichelt.de/

            --
            Linux is like a wigwam - no windows, no gates and an Apache inside!
            Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
            http://emmanuel.dammerer.at/selfcode.html
            1. Ich habe nochmal etwas nachgedacht, und nachdem ich die anderen Posts gelesen habe ist folgendes wesentlich besser:

              AuthType Basic
              AuthName "Passwortgeschuetzter Bereich"
              AuthUserFile x:/apache2/users/.htpasswd
              require valid-user

              Deine .htpasswd liegt dabei in einem Ordner "users" im "Apache2"-Verzeichnis, und enthält den Usernamen und das Passwort.

              Bis dann!

              Marc Reichelt || http://www.marcreichelt.de/

              --
              Linux is like a wigwam - no windows, no gates and an Apache inside!
              Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
              http://emmanuel.dammerer.at/selfcode.html
              1. Hi Marc,

                require valid-user

                Sehe ich das richtig, dass sich außer dem nichts wesentlich geändert hat?

                Warum findest du valid-user besser? Ich finde es eigentlich eher schlechter, denn mit der ersten Variante hast du die Zugriffsmöglichkeit schon mal auf einen User eingeschränkt. Wenn du jetzt in der .htusers mehrere Leute drin stehen hast, von denen aber nicht unbedingt alle Zugriff haben müssen, dann gibt es bei Angabe der einzelnen User weniger potentielle Accounts, über die jemand eindringen kann.

                Just my two cents.

                MfG, Dennis.

                --
                Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
                Schon gewusst, dass Bugs und Feature Vorschläge für das CForum ins Entwicklerforum oder in den BugTracker gehören und nicht hier her?
                1. Hi Marc,

                  require valid-user

                  Sehe ich das richtig, dass sich außer dem nichts wesentlich geändert hat?

                  also ich bin mir nicht sicher ,ob nur require valid-user genügt.
                  Ich habs so in meiner .htaccess
                  <Limit GET POST>
                  require valid-user
                  </Limit>

                  das heisst konkret,der server fragt bei GET oder POST methode(was ja so üblich ist beim server) nach dem Benutzer.

                  Warum findest du valid-user besser? Ich finde es eigentlich eher schlechter, denn mit der ersten Variante hast du die Zugriffsmöglichkeit schon mal auf einen User eingeschränkt. Wenn du jetzt in der .htusers mehrere Leute drin stehen hast, von denen aber nicht unbedingt alle Zugriff haben müssen, dann gibt es bei Angabe der einzelnen User weniger potentielle Accounts, über die jemand eindringen kann.

                  Kannst Du mir sagen,warum die user in einer .htusers datei nicht alle zugang haben sollen?Dann müssten die user ja auch nicht dort aufgeführt sein,wenn sie das nicht dürfen?!
                  Der Vorteil bei require valid-user ist,man muss nicht jeden user einzeln in die htaccess und in die htpasswd datei schreiben,sondern nur einmal require valid-user in die htaccess und die benutzer in der htpasswd datei.
                  Da hat auch kein anderer zugang,wenn der nicht in einer htpasswd (od. htusers) datei aufgeführt ist,also genau dasselbe wie wenn jeder benutzer einzeln in einer htaccess aufgeführt wäre.
                  ich seh da kein unterschied.
                  Gruss
                  Alain

                  1. Hallo Leute!

                    Ich find es echt gut das einem hier so zahlreich geholfen wird.
                    Nur leider komme ich immer noch nicht weiter!

                    Meine seite ist immer noch frei für jeden verfügbar :-(

                    Hab meine .htaccess schon richtig eingerichtet.
                    Die .htpasswd ist auch schon korrekt mit verschlüsselten passwörten fertig.

                    Mal eine ganz dumme frage für meine bestätigung:
                    Die .htaccess muss im server-root liegen also in meinem fall

                    x:/apache2/index/.htaccess

                    oder ist das falsch? mein apache server ist auf d:/apache2

                    Danke!

                    1. Hallo Nochmal!

                      Sorry das ich zwei mal intereinender poste aber ich bin des rätsels lösung ein bisschen näher!!!

                      Meine site fragt mich nun nach einem Passwort! "Yeah - Uhhh" :)

                      Aber leider nimmt der meine Passwörter nicht an!?

                      keine Ahnung warum. Hab eigentlich schon die passwörter verschlüsselt.

                      Wo kann der fehler liegen? (falsch verschlüsselt?)
                      Findet er die datei nicht? (.htpasswd)

                      Eerhalte die fehlermeldung: Authorization Required

                      THX

                      1. Hallo N-Dye,

                        Sorry das ich zwei mal intereinender poste aber ich bin des rätsels lösung ein bisschen näher!!!

                        Meine site fragt mich nun nach einem Passwort! "Yeah - Uhhh" :)

                        Aber leider nimmt der meine Passwörter nicht an!?

                        keine Ahnung warum. Hab eigentlich schon die passwörter verschlüsselt.

                        Wo kann der fehler liegen? (falsch verschlüsselt?)
                        Findet er die datei nicht? (.htpasswd)

                        An diesen beiden Sachen kann es liegen. Versuch mal unter Windows, die Passwörter _unverschlüsselt_ in die Datei zu schreiben - so sollte es klappen. Wenn es dann immer noch nicht klappt, findet er bestimmt die .htpasswd nicht.

                        Bis dann!

                        Marc Reichelt || http://www.marcreichelt.de/

                        --
                        Linux is like a wigwam - no windows, no gates and an Apache inside!
                        Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
                        http://emmanuel.dammerer.at/selfcode.html
                        1. Hallo an Alle !!!

                          Yeahhhhh!!!!

                          Endlich klappt es!!!

                          Ich DANKE allen für Ihre Hilfreiche Unterstützung. Ohne diese wäre ich bestimmt noch lange an meinen Rätseln verzweifelt

                          Wenn ich darf werde ich einen link zur Hauptseite von selfhtml auf meine website stellen damit ich Euch weiterempfehlen kann.
                          (habt Ihr dann auch nen netten banner?)

                          MIT BESTEN GRÜSSEN und VIELEN DANK !

                          N-DYE

                          1. Hallo N-DYE

                            Wenn ich darf werde ich einen link zur Hauptseite von selfhtml auf meine website stellen damit ich Euch weiterempfehlen kann.
                            (habt Ihr dann auch nen netten banner?)

                            http://aktuell.de.selfhtml.org/extras/selflogo.htm

                            Auf Wiederlesen
                            Detlef

                            --
                            - Wissen ist gut
                            - Können ist besser
                            - aber das Beste und Interessanteste ist der Weg dahin!
                            1. Hallo N-DYE
                              darf man fragen,welche art .htaccess Du nun eingerichtet hast?
                              Die htaccess datei sollte auf jedem fall in dem verzeichniss liegen,welches Du geschützt haben möchtest und nicht irgendwo unterhalb  des öffentlichen bereichs,die htpasswd datei kann aber ausserhalb des öffentlichen bereichs sein,was eigentlich auch besser ist.
                              Grüsse
                              Alain

                      2. Hi N,

                        Wo kann der fehler liegen? (falsch verschlüsselt?)
                        Findet er die datei nicht? (.htpasswd)

                        Du hast natürlich schon schön brav in die error.log deines Servers geschaut? Die findest du normalerweise in einem Unterverzeichenis names "logs" im Verzeichnis deines Apachen. Die aktuellesten Einträge stehen ganz unten an der Datei.

                        MfG, Dennis.

                        --
                        Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
                        Schon gewusst, dass Bugs und Feature Vorschläge für das CForum ins Entwicklerforum oder in den BugTracker gehören und nicht hier her?
                  2. Hi Alain,

                    <Limit GET POST>
                    require valid-user
                    </Limit>

                    Das ist eigentlich weniger als ich hatte - denn bei meiner Methode sollte auch für ein HEAD eine Autehtifizierung erlangt werden.

                    Da bei HEAD allerdings keine Daten der Seite an den User geschickt werden, müsste das so auch reichen.

                    das heisst konkret,der server fragt bei GET oder POST methode(was ja so üblich ist beim server) nach dem Benutzer.

                    Bei anderen Methoden dafür nicht.

                    Kannst Du mir sagen,warum die user in einer .htusers datei nicht alle zugang haben sollen?Dann müssten die user ja auch nicht dort aufgeführt sein,wenn sie das nicht dürfen?!

                    Ja, der Vorteil ist: Du hast eine einzige .htusers und eventuell noch eine .htgroups Datei - wenn du jetzt mehrere Ordner zugangsgeschützt haben willst, dann brauchst du nicht für jeden Zugangsschutz eine eigene .htusers Datei, sondern jeder Zugansschutz greift auf diese _eine_ .htusers Datei zurück.

                    Ein weiterer Vorteil daran ist, dass wenn ein User sein Passwort ändern möchte, dann ist es auch direkt für alle Ordner geändert, also für alle Zugangskontrollen, die diese .htusers verwenden und man muss die Passwortänderung nicht an mehreren Stellen vornehmen.

                    Mit einer zentralen .htusers und .htgroups Datei lässt sich also eine Verwaltung der User viel einfacher durchführen.

                    Der Vorteil bei require valid-user ist,man muss nicht jeden user einzeln in die htaccess und in die htpasswd datei schreiben,sondern nur einmal require valid-user in die htaccess und die benutzer in der htpasswd datei.

                    Dafür die es ja auch die Möglichkeit die User zu gruppieren, siehe auch SelfHTML dazu.

                    Da hat auch kein anderer zugang,wenn der nicht in einer htpasswd (od. htusers) datei aufgeführt ist,also genau dasselbe wie wenn jeder benutzer einzeln in einer htaccess aufgeführt wäre.

                    Wenn du aber verschiedene Bereiche hast, z.B. so:

                    Hauptordner

                    • Unterordner1
                    • Unterordner2
                    • nurFürModeratoren (zugansgeschützt mit require group mods)
                    • nurFürAdministratoren (zugangsgeschützt mit require user ich)

                    Jetzt kannst du alle Moderatoren und auch "ich" in die Gruppe mods stecken, die haben dann alle Zugriff auch den Ordner "nurFürModeratoren" - zusätzlich hat "ich" noch zugriff auf "nurFürAdministatoren".

                    Das Spiel kann man natürlich noch beliebig weit treiben.

                    MfG, Dennis.

                    --
                    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
                    Das Leben ist kein Warenhaus - es nimmt nichts zurück. (Anette Louisan)
      2. Hi N,

        AuthUserFile /xxx/.htpasswd

        Wie auch in SelfHTML - Webserver steht, muss an dieser Stelle ein absoluter Pfad angegeben werden und _kein_ Pfad ausgehen vom Server Root. Und ein absoluter Pfad beginnt unter Windows nun mal mit einem Laufwerksbuchstaben.

        MfG, Dennis.

        --
        Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
        Wissen ist gut, Können ist besser, aber das Beste und Interessanteste ist der Weg dahin! (Detlef G.)
        1. Hi,

          Wie auch in SelfHTML - Webserver steht, muss an dieser Stelle ein absoluter Pfad angegeben werden und _kein_ Pfad ausgehen vom Server Root.

          Das ist natürlich falsch.
          Selbstverständlich darf dort ein relativer Pfad stehen. Dieser wird relativ zum server root (nicht zu verwechseln mit document root) interpretiert.

          Siehe auch http://httpd.apache.org/docs-2.0/mod/mod_auth.html#authuserfile:
          The AuthUserFile directive sets the name of a textual file containing the list of users and passwords for user authentication. File-path is the path to the user file. If it is not absolute (i.e., if it doesn't begin with a slash), it is treated as relative to the ServerRoot.

          cu,
          Andreas

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

            Das ist natürlich falsch.
            Selbstverständlich darf dort ein relativer Pfad stehen. Dieser wird relativ zum server root (nicht zu verwechseln mit document root) interpretiert.

            Thx, gut zu wissen.

            MfG, Dennis.

            --
            Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
            Die Definition des SelfCodes ist hier zu finden, es gibt auch einen Encoder.
          2. Hi,

            Das ist natürlich falsch.
            Selbstverständlich darf dort ein relativer Pfad stehen. Dieser wird relativ zum server root (nicht zu verwechseln mit document root) interpretiert.

            Mal ne Zwischenfrage.
            Wird unter Windows ein Pfad, der mit / beginnt, als relativ interpretiert?

      3. Hi,

        Bin sehr ratlos!!!

        .htaccess:

        AuthType Basic
        AuthName "UserX"

        also das      ^^ dürfte nicht ganz richtig sein

        AuthUserFile /xxx/.htpasswd
        require user UserX

        das               ^^ ist auch nicht nötig

        ich würde die htaccess so schreiben:
        AuthType Basic
        AuthName "members"
        AuthUserFile /var/www/.htpasswd
        AuthGroupFile /dev/null

        <Limit GET POST>
        require valid-user
        </Limit>

        -------------
        es genügt "require valid-user" zu schreiben in einer htaccess und
        nicht jeden user einzeln.In der ".htpasswd" datei sollte aber beides drinn stehen user und verschlüsseltes passwort.
        username:verschlüsseltespasswort
        username2:verschlüsseltespassword2
        etc.

        Grüsse
        Alain

        1. Hi,

          AuthName "UserX"

          also das      ^^ dürfte nicht ganz richtig sein

          wieso? Es wird dann halt dieser Name beim Login ausgegeben. Zugegeben, "Bitte Username und Passwort für UserX auf ... eingeben" klingt etwas doof, aber falsch ist es nicht.

          freundliche Grüße
          Ingo