Hi Andreas,
ich verstehe irgendwie nicht, was an htaccess sicherer ist, als an einer
eigenen Konrtolle über eine MySQl DB.
Nichts.
"Sicher" ist kein Attribut von .htaccess, sondern von der verwendeten
Authentifizierungsmethode.
Eine solche wäre im vorliegenden Falle "Basic" oder "Digest".
Problem ist ja schonmal, dass die meisten Webhoster es nicht ermöglichen
(können), eine .htpassword Datei in einem nicht aus dem Web zugänglichen
Verzeichnis zu speichern.
Der Pfadname der .htpasswd-Datei steht im Klartext in der .htaccess-Datei
drin - diese kannst Du manuell erstellen und hochladen, genau wie Deine
HTML-Seiten. Der Webhoster hat damit gar nichts zu tun.
Es kann natürlich sein, daß der Webhoster irgend ein GUI anbietet, um die
.htpasswd-Dateien im Dialog zu bearbeiten, und daß dieses GUI irgendwelche
Einschränkungen aufweist. Wenn Dich diese stören, dann verwende es halt
einfach nicht ...
Damit ist der Vorteil schonmal weg. (ich mache das dann so dass ich die
htpassw. in dem Ordner mit htacces Schutz speichere, gibts da was besseres?)
Es gibt _keinen_ Grund, die Passworte innerhalb des URL-Raums zu speichern.
Laß den Webmaster einen Fingerfehler in seine Konfiguration machen, und
Deine Passworte sind plötzlich ungeschützt.
Jedenfalls kann ich doch auch in einer MySQl DB die User speichern,
ob jetzt über http Auth oder ein einfaches html-Formular,
HTTP Authentication "Digest" würde Dir erlauben, die Kenndaten bereits in
verschlüsselter Form (MD5) zu _übertragen_.
"Basic" ebenso wie jede formularbasierte Methode sendet die Daten im
Klartext (bzw. Base64-codiert) über die Leitung. (Es sei denn, Du legst
eine SSL-Schale um die gesamte Kommunikation herum.)
ich kann doch auf der Result-Seite ein php Script hinschreiben, welches
die DB abfragt, wenn alles OK, sonst einen anderen header(location...)
und exit;
Ja. Du kannst auch einen ganzen Webserver nachprogrammieren, wenn Du gerade
nichts zu tun hast und glaubst, das besser zu können als die existierenden
Hersteller.
Was ist daran unsicherer als .htaccess?
Wie gesagt: Nichts, denn .htaccess ist kein Authentifizierungsprotokoll.
Und wenn ich die Variabeln dann noch in eine SessionID schreibe, kann
ich das auf jeder Seite automatsch machen, ohne dass eine erneute Ein-
gabe nötig ist.
Klar. Du mußt halt die Session-ID jedesmal wieder auseinanderpflücken und
Benutzerkennung & Passwort immer wieder prüfen.
Bei Server Authentication würde das der Webserver für Dich machen.
Was spricht dagegen?
Der Aufwand auf Deiner Seite.
Denn in der DB kann ich die User und Rechte viel einfacher und flexibler
handhaben, als über htaccess!
Wieso das? Wenn Du ein GUI für die Datenbank schreiben kannst, dann kannst
Du auch einen GUI-Editor für .htpasswd-Dateien schreiben (das ist m. E. sogar
viel einfacher).
Oder habe ich was nicht bedacht? Hab mir gerade einiges über htaccess
durchgelesen, aknn aber keine entscheidenden Vorteile feststellen!
Der Haupt-Vorteil ist, daß es ein etablierter Standard ist, den alle Browser
(mehr oder weniger gut) unterstützen.
Darüber hinaus wäre "Digest" wirklich sicherer als alles, was Du selbst
bauen kannst.
Zum jetzigen Stand der Browser-Entwicklung schließt Du damit allerdings
sämtliche Netscape-Browser aus; Opera 4, M$IE 5, Mozilla 0.9.7 und Amaya
(ich habe 5.3 probiert) spielen bereits mit.
Viele Grüße
Michael