Passwort geschützter Bereich mit .htaccess geht irgendwie nicht

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von _st, 07.09.2005.

  1. _st

    _st Thread Starter MacUser Mitglied

    Beiträge:
    17
    Zustimmungen:
    0
    Registriert seit:
    07.09.2005
    Hallo liebes Forum,

    ich hoffe ich bin hier richtig...

    Ich möchte eine Art web-file-browser erstellen in dem ich die Ordnerstrucktur und enthaltene Objekte übers Internet sehen kann. Hab also den Apache-Server gestartet, hab mir dann ein php-package besorgt und das installiert. Der web-file-browser braucht php.

    So weit, so gut. Funktioniert alles.

    Jetzt möchte ich aber verschiedene Benutzer angeben, die bei verschiedenen ordnern, verschiedene rechte haben.
    z.b.:
    User A darf Ordner A -lesen und schreiben, Ordner B -keine Rechte
    User B darf Ordner A -lesen und schreiben, Ordner B -lesen und schreiben
    usw.

    jetzt hab ich mir gedacht, das mach ich mit htaccess. Hab also wie wild gegoogelt und dann folgendes herausgefunden:

    die datei st.conf muß geändert werden damit htaccess überhaupt geht. Hab ich gemacht. Sieht jetzt so aus:

    <Directory "/Users/st/Sites/">
    Options Indexes MultiViews
    AllowOverride AuthConfig
    Order allow,deny
    Allow from all
    </Directory>

    Dann .htaccess erstellen. Hab ich auch gemacht. Über Terminal mit:

    touch .htaccess
    open .htaccess

    Dann hab ich da rein geschrieben:

    AuthType Basic
    AuthName privater Bereich
    AuthUserFile /Users/st/Sites/.htpasswd
    require valid-user

    <Files ".htaccess">
    Order allow,deny
    Deny from all
    </Files>
    <Files ".htpasswd">
    Order allow,deny
    Deny from all
    </Files>

    Die hab ich dann einfach im Ordner Sites gespeichert.

    So weit, so gut. Wie erstelle ich jetzt die .htpasswd?

    ich hab das versucht, habs genauso gemacht wie mit htaccess. Im Terminal erstellt und dann im Texteditor einfach was reingeschrieben.
    z.b.: st : passwort

    Hab die dann ebenfalls im Ordner Sites gespeichert. Ging aber nicht. Wenn ich übers Netzwerk von meinem 2. Rechner auf die Site zugreife seh ich immer noch alles...

    Bitte, weiß jemand Hilfe? Jetzt bin ich schon so weit gekommen und das nervt mich das es nicht weitergeht...
     
  2. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.802
    Zustimmungen:
    3.631
    Registriert seit:
    23.11.2004
    die erstellst du mit dem kommandozeilen-tool namens "htpasswd"
    htpasswd -c /Users/st/Sites/.htpasswd username
    -c erstellt die, wenn die noch nicht existiert, aber ÜBERSCHREIBT die falls sie schon existiert...

    p.s. normalerweise legt man das .htpasswd file besser ausserhalb des web bereichs...
    auch wenn du hier schon den zugriff darauf mit der .htaccess verweigerst.
     
    Zuletzt bearbeitet: 07.09.2005
  3. _st

    _st Thread Starter MacUser Mitglied

    Beiträge:
    17
    Zustimmungen:
    0
    Registriert seit:
    07.09.2005
    Super, danke.

    So, das hab ich jetzt gemacht. Wenn ich die Site aufrufe kann ich aber immer noch alles sehen, ohne das eine Passwortabfrage kommt.

    warum? ich dachte der ganze ordner in dem htaccess steht wird geschützt?
     
  4. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.802
    Zustimmungen:
    3.631
    Registriert seit:
    23.11.2004
    probier mal
    AuthName "private bereich"

    und pack noch eventuell mit rein.
    AuthGroupFile /dev/null

    kann der apache denn das .htaccess lesen?

    hast in der haupt httpd.conf den AllowOverride für die user verzeichnisse angeschaltet?
     
  5. dms

    dms Gast

    Öhm...wenn ich Dich richtig verstanden habe greifst Du doch per PHP auf die Ordner und Inhalte zu und nicht direkt über den Browser. Dann greift die .htacces natürlich nicht. Dazu müsstest Du die PHP-Anwendung aufbohren, Nutzer-Rechte/Gruppen-Verwaltung erstellen etc. Such Dir lieber ein anderes Script. :)
     
  6. _st

    _st Thread Starter MacUser Mitglied

    Beiträge:
    17
    Zustimmungen:
    0
    Registriert seit:
    07.09.2005
    Vielen Dank für deine schnellen Antworten, aber irgendwas ist noch im Argen...

    Also, meine .htaccess sieht jetzt so aus:

    AuthType Basic
    AuthName "privater Bereich"
    AuthUserFile /Users/st/Sites/.htpasswd
    AuthGroupFile /dev/null
    require valid-user

    <Files ".htaccess">
    Order allow,deny
    Deny from all
    </Files>
    <Files ".htpasswd">
    Order allow,deny
    Deny from all
    </Files>

    meine .htpasswd so:

    admin:YLzbeZPYQzuRI

    In der httpd.conf hab ich 2 Einträge gefunden mit:

    AllowOverride None

    hab ich beide geändert auf:

    AllowOverride AuthConfig

    wenn ich jetzt auf dem selben rechner in safari auf:
    http://ipadresse/~st/index.html
    geh kann ich immer noch die index html sehen ohne passwortabfrage.

    ich dreh durch...
    das kann doch nicht sooo schwer sein
     
  7. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.039
    Zustimmungen:
    1.315
    Registriert seit:
    13.09.2004
    für meine Begriffe fehlt da noch require und satisfy any, also etwas derart:

    PHP:
    deny from all
    AuthType BASIC
    AuthUserFile 
    /etc/httpd/passwd
    AuthGroupFile 
    /etc/httpd/www_groups
    AuthName 
    "Abteilung EDV"
    require group edv
    satisfy any
    wenn Du nicht mit Gruppen arbeitest, dann ist require valid-user nat. ok.! Hab ich gerade erst bei Dir gelesen. Aber Satisfy any würd ich noch ergänzen!
     
    Zuletzt bearbeitet: 07.09.2005
  8. hagbard86

    hagbard86 MacUser Mitglied

    Beiträge:
    3.947
    Zustimmungen:
    42
    Registriert seit:
    30.03.2005
  9. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.802
    Zustimmungen:
    3.631
    Registriert seit:
    23.11.2004
    require valid-user hatte er doch drin

    du hast wohl das falsche AllowOverride geändert, das teil für die user sites ist default-mässig komplett auskommentiert...

    #<Directory /Users/*/Sites>
    # AllowOverride FileInfo AuthConfig Limit
    # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    # <Limit GET POST OPTIONS PROPFIND>
    # Order allow,deny
    # Allow from all
    # </Limit>
    # <LimitExcept GET POST OPTIONS PROPFIND>
    # Order deny,allow
    # Deny from all
    # </LimitExcept>
    #</Directory>

    und nach ändern der config das restarten des apache nicht vergessen ;)
     
    Zuletzt bearbeitet: 07.09.2005
  10. Markus87

    Markus87 MacUser Mitglied

    Beiträge:
    1.966
    Zustimmungen:
    57
    Registriert seit:
    23.07.2004
    Du musst dafür in einer Datei alle Nutzer eintragen:

    BEISPIEL:


    if($benutzername == $chris and $passwort == pflaume){
    $rechte='ordner/a'; // ordnerpfad
    }


    Das hier geht auch mit array's.
     
    Zuletzt bearbeitet: 07.09.2005
Die Seite wird geladen...
Ähnliche Themen - Passwort geschützter Bereich
  1. easymail
    Antworten:
    22
    Aufrufe:
    3.099
  2. betabot
    Antworten:
    4
    Aufrufe:
    1.010
  3. spawning
    Antworten:
    2
    Aufrufe:
    801

Diese Seite empfehlen