Scriptbassierter Passwortschutz
Passwortschutz mit Flash
Serverbassierter Passwortschutz
.htaccess
.htusers
.htgroups

Passwortschutz

Eine häfig gestellte Frage ist, wie kann ich meine Verzeichnisse durch ein Passwort sicher schützen, so das nur authorisierte Personen auf bestimmte verzeichnisse Zugang haben.
Da gibt es verschiedene - mehr oder weniger Sichere - Möglichkeiten. In allen Beispielen die ich euch dazu Anbiete, gelten folgende Zugangsdaten.
Benutzername : Webtorial
Passwort : test

 

Scriptbassierter Passwortschutz

Wenden wir uns zuerst einmal der wohl unsichersten Möglichkeit zu.
Mit den verschiedenen Scriptsprachen (JavaScript/PHP) lässt sich sehr einfach ein Passwortschutz Programmieren. Doch da das Passwort immer im Quelltext integriert ist, kann das keine sehr sichere Lösung sein. Egal wie gut man das Passwort versteckt, so ist es für etwas versiertere Anwender kein Problem dieses herauszubekommen.
Im folgendem Beispiel wird eine Passwortabfrage mit JavaScript realisiert. Folgender Quelltext liegt dem zugrunde :

<SCRIPT LANGUAGE="JavaScript"> function benutzer() { var Benutzer = "Webtorial"; var Eingabe = window.prompt("Bitte geben Sie den BENUTZERNAMEN ein",""); if(Eingabe != Benutzer) { alert("Falsches Passwort!"); benutzer(); } var Passwort = "test"; var Eingabe = window.prompt("Bitte geben Sie das PASSWORT ein",""); if(Eingabe != Passwort) { alert("Falsches Passwort!"); passwort(); } else document.location.href="pass.htm"; } </script>  

Passwortschutz mit Flash

Eine andere Möglichkeit wäre eine Passwortfunktion mit Flash. Ja ihr habt richtig gehört, mit Flash. Das ist relativ einfach und besitzt keinen Quelltext, wo man kurz reinschauen kann. Für diejenigen unter euch, die sich etwas mit Flash auskennen, hier eine kurze Erklärung.
Die Eingabefelder wurden mit den Variablen "benutzer"(Obere) und "passwort" (untere) belegt
Die "Einloggen" - Schaltfläche wurde mit folgendem Action-Script Code Deffiniert.:

on (release, keyPress "<Enter>") { if (benutzer eq "Webtorial" & passwort eq "test"){ getURL ("pass.htm"); } else { gotoAndStop (2);} } on (release) { }

Dieser kleine Flash-Film besitzt nur zwei Bilder und ist mit einer Dateigrösse von 3,51 KB kleiner als so manches Bild. Da er des weiteren noch Compiliert ist, hat man auch keine Möglichkeit mal kurz das Passwort auszulesen.

 

Serverbassierter Passwortschutz

Die beiden bisher vorgestellten Lösungen haben einen gemeinsamen Nachteil, sollte einer den Namen der scheinbar geschützten Datei kennen, so gibt er einfach den kommpletten Pfad in seinen Browser ein und umgeht so den Passwortschutz. Der kommplette Pfad in diesem Beispiel lautet http://www.webtorial.de/pass.htm. Ihr könnt es gerne einmal testen. Wäre es da nicht schön, wenn schon vom Webserver ein bestimmtes Verzeichniss gesperrt wird und nur per Zugangsdaten zu erreichen ist. Dafür gibt es .htaccess - Dateien. Das sind im grunde Serverkonfigurationsdateien mit denen man so einiges realisieren kann, unter anderem auch einen Passwortschutz. Vorraussetzung dafür ist allerdings ein Server der auf Apache Basis läft, aber das ist heutzutage der grösste Teil. Dafür werden mehrere Dateien benögt, einmal eine .htaccess dann noch eine .htusers für die Zugangsdaten der Berechtigten und gegebenenfalls noch eine .htgroups, womit man den Zugang einer Bestimmten Gruppe Regeln kann. Schauen wir uns das doch einmal im einzelnen an.
 
.htaccess :

Zuerst brauchen wir einmal eine .htaccess, diese lässt sich mit einem ganz normalen Texteditor erstellen. In diesem sollte man folgendes schreiben.

AuthType Basic AuthName "Webtorial-Sicherheitsbereich" AuthUserFile /usr/webtorial/geheim/.htusers AuthGroupFile /usr/webtorial/geheim/.htgroups require user Hans Olga Willi require group Administratoren

Erklärung : Mit AuthType in der ersten Zeile wird die Art der Authentifizierung festgelegt, die Standardangabe lautet hier Basic.Bei AuthName handelt es sich um den Namen, der beim Eingabefeld Angezeigt wird. Nun folgt mit AuthUserFile der Pfad zu der .htusers, aber nicht der relative Pfad ab Wurzelverzeichniss ihres Webangebotes, sondern der absolute Pfad ab dem Server-Rechner des Webhosters. Diesen müsst ihr gegebenenfalls bei eurem Webhoster erfragen. Das gleiche geschieht nun mit AuthGroupFile, dort werden dann die Gruppenzugänge geregelt, da aber im Gegensatz zu der .htusers eine Gruppendatei nicht unbedingt erforderlich ist, könntet ihr diesen Eintrag auch weglassen oder AuthGroupFile /dev/null notieren. Bei require muss man nun noch die Zugänge definieren, dahinter gibt man dann entweder user für die Einzelnen Berechtigten oder eben group für eine ganze Gruppe. Nun sind wir mit dem erstellen der .htaccess fertig. Speichert die Datei nun unter .htaccess ab. Unbedingt beachten, das, das erste Zeichen ein Punkt ist, den damit wird dem Server gesagt. das es sich hierbei um eine Konfigurationsdatei handelt.
 

.htusers

Wenden wir uns also nun der .htusers zu. Darin stehen eigentlich nur die Benutzernamen und die dazugehörigen Kennworte. Während es bei Windows-Systemen genügt das Kennwort hinter den Benutzernamen zu schreiben, müssen bei Unix-Systemen die Passwörter zuerst nach dem crypt - Mechanismus verschlüsselt werden.
Eine .htusers für Windows

Hans:mokasin Olga:sturm Willi:maus

Hier werden einfach die Benutzernamen gefolgt von dem Passwort aufgeführt, dazwischen muss ein Doppelpunkt stehen. Nun schauen wir uns einmal an wie das ganze für Unix-Systeme aussieht.

Hans:INvl8oSEQhysE Olga:INqlnY0j7TA/U Willi:INwNVC5BiWNUg

Der einzige Unterschied zu der Windows-Datei besteht darin, das die Passwörter hier verschlüsselt sind.
Kennwort:
Ich habe euch hier an dieser Stelle einmal eine Abfrage eingebaut, das euch ein verschlüsseltes Passwort generiert.Das Original stammt von SelfHTML und ruft beim Absenden ein CGI-Script auf, das euch sogleich ein verschlüsseltes Passwort als Ergebniss liefert.
 

.htgroups:

Nun erstellen wir noch die Datei, die festlegen soll welche Gruppen Zugriff haben sollen.

Administratoren: Hans Willi

In unserem Beispiel besteht diese nur aus einer Zeile. Dort ist der Gruppenname notiert und die Dazugehörigen Benutzer, die schon oben in der .htusers notiert sein müssen.


Nun sind alle benötigten Dateien erstellt und einsatzbereit. Da hier keine genaueren Angaben gemacht sind, was es genau zu schützen gilt, wird alles was sich im gleichen Serververzeichniss und den Verzeichnissen unterhalb befindet nur durch die Zugangsdaten zu erreichen sein. Erstellt nun auf eurem Server einen neuen Ordner, und legt darin die Dateien ab, die nur den betreffenden Personen zugänglich sein sollen. Legt nun dort auch die drei gerade erstellten Dateien hinein, achtet darauf, das ihr in der .htaccess die Pfadangaben zu der .htusers richtig angepasst habt. Wenn nun jemand versucht auf eine Datei in diesem Ordner zuzugreifen, so wird er aufgefordert Benutzernamen und Passwort einzugeben.
Für ein Beispiel einfach auf den Button klicken.

Weitere Möglichkeiten : Man kann natürlich auch genau bestimmen, welche Dateien geschützt werden sollen. Dafür werden bestimmte files-Tags verwendet.Setzt damit einfach die "require-angaben" wie im Beispiel dazwischen.

<files pass.htm> require user Hans Olga Willi require group Administratoren </files>

Hier wird festgelegt, das nur die Datei "pass.htm" geschützt werden soll. Man kann auch mit der Angabe *.htm, festlegen das nur HTML-Dateien geschützt werden.
















©   strominus Webdesign    Dez. 2001