Es kann auf diese Art bestimmten Rechnern (oder Rechnergruppen) der Zugriff auf die Dokumente verwehrt sowie auch erlaubt werden. Eine .htaccess-Datei hat dabei zum Beispiel folgendes Aussehen:
AuthType Basic AuthName schmidt <Limit GET PST PUT> order deny,allow deny from all allow from 141.20.20 141.20.21 </Limit>Die order-Direktive gibt die Reihenfolge der Bestimmung des Zugriffs an. (Im obigen Beispiel errechnet der Server bei einer Anfrage eines Rechners mit der IP-Adresse '141.20.20.38' erst das Zugriffsverbot durch die deny-Direktive und danach ergibt sich dann doch die Erlaubnis zum Zugriff durch die allow-Direktive.) Den Direktiven "allow from" und "deny from" können beliebig viele durch Leerzeichen getrennte Domainnamen, Rechnernamen, IP-Adressen, Teile einer IP-Adresse oder das Schlüsselwort "all" folgen. Bemerkung: Hinter </Limit> muß eine Newline folgen.
Analog UNIX existieren beim WWW-Server eine Passwort- und eine Gruppen-Datei. Ein Nutzer authentisiert sich mit dem in der Passwort-Datei eingetragenen Passwort. Für eine Gruppe ist es nur nötig eingetragener Nutzer dieser Gruppe zu sein, wenn man sich per Passwort als solcher authentisiert hat.
Eine .htaccess-Datei hat zum Beispiel folgendes Aussehen:
AuthType Basic AuthName "Karl Schmidt" <Limit GET> require user dirkv </Limit>Die Direktive AuthName ist Pflicht und kann einen beliebigen String enthalten. Sie wird bei der Angabe des Nutzernamens beim WWW-Clienten angezeigt.
Durch die Direktive AuthUserFile kann man eine eigene Passwortdatei festlegen, die bei Zugriffen verwendet wird. Dies ist insbesondere dann praktisch, wenn man Leuten, die hier keinen Account haben, Zugang gewähren will.
AuthType Basic AuthName mustermann <Limit GET POST PUT> AuthUserFile /vol/fob-vol3/mi93/mustermann/mypasswd require user myguest </Limit>Der Pfad muß dabei vollstädig sein (Homedirectory) und die Datei mypasswd enthält für jeden Nutzer eine Zeile mit seinem Namen und dem verschlüsselten Passwort:
myguest:h5zPnSYPQG/0kDie Datei muss für den Server lesbar sein, sollte sich aber in keinem öffentlichen WWW-Verzeichnis befinden, sollte also oberhalb von .public_html auf dem WWW-Server stehen. Achtung: Der WWW-Server hat keinen NFS-Zugriff!!!! Eine Passwortdatei kann man mit Hilfe von htpasswd (1) anlegen und editieren, das auch in den Sourcen der meisten Server (NCSA, Apache) unter support zu finden ist.
Ansonsten wird die generierte Passwortdatei des WWW-Servers verwendet. Diese besteht aus der NIS-Passwd und der WWW-Passwd. Eintragungen der WWW-Passwd haben eine höhere Priorität als die der NIS-Passwd. Wenn man sein WWW-Passwort in der WWW-Passwd ändern möchte, kann man das CGI-Script /cgi-bin/change-passwd benutzen. Leider ist es nicht möglich mehrere Passwortdateien zusammen zu benutzen bzw. die Datei des Servers mit einer eigenen zu kombinieren.
Der Apache-Server kennt die Direktive Satisfy. Diese legt fest, welche Bedingungen erfüllt sein müssen, wenn der Zugriff durch Rechnernamen (allow) und Nutzer (require) geregelt wird. Der Defaultwert ist dabei All, so daß der Rechner den richtigen Namen und der Nuzter sich mittels den richtigen Passwort identifiziert haben muß. Alternativ kann man dafür auch Any angeben, dann genügt eine der beiden Bedingungen.
AuthType Basic Satisfy Any AuthName "My Guest" <Limit GET POST PUT> require user guest order deny,allow deny from all allow from informatik.hu-berlin.deDas Beispiel erlaubt allen aus der Domäne informatik.hu-berlin.de Zugriff. Alle anderen müssen sich per Passwort als Nutzer guest ausweisen.