Bringe htaccess und htpasswd nicht zum Laufen
Christian
- webserver
Hallo,
versuche gerade, auf meinem localhost (XAMPP) testweise eine Passwortrestriktion zum Laufen zu bringen.
Dafür habe ich einen Ordner "weg".
In dem Ordner "weg" habe ich eine .htaccess Datei:
AuthType Basic
AuthName "Protected Area"
AuthUserFile localhost/weg/.htpasswd
require valid-user
In der .htpasswd Datei (liegt im SELBEN Ordner) habe ich einen User mit Passwort:
christian:1234
Wenn ich nun localhost/weg ansteuere, werde ich wie gewollt mit einem Passwort Prompt konfrontiert, wenn ich "christian" und Passwort "1234" eingebe, wird mir ein Internal Server Error entgegengeworfen.
Bitte kein Verweis auf "ich muss doch das Passwort hashen und salten", ich will das mal GAAAAANZ EINFACH testweise zum laufen bringen.
Im selfhtml wiki war ich schon.
Habe auch schon mit dem Pfad von AuthUserFile herumhantiert, sogar D:/xampp/htdocs/... in meiner Verzweiflung probiert, keine Besserung in Sicht.
Übersehe ich da etwas ganz offensichtliches? Habe bereits mit AuthUserFile herumgespielt, hat nichts gebracht.
Ein Königreich für eine Idee, LG Christian
Hi,
In dem Ordner "weg" habe ich eine .htaccess Datei:
AuthType Basic AuthName "Protected Area" AuthUserFile localhost/weg/.htpasswd require valid-user
AuthUserFile muß absolut sein, oder relativ zum Server-Root. NICHT relativ zum htdocs oder so.
Die Datei sollte auch nicht in einem Bereich liegen, der per http(s) erreichbar ist (auch wenn Dateien .ht* üblicherweise nicht ausgeliefert werden).
In der .htpasswd Datei (liegt im SELBEN Ordner) habe ich einen User mit Passwort:
christian:1234
War das früher mal möglich, die Paßwörter unverschlüsselt abzulegen?
Normalerweise erzeugt man die Einträge mit dem htpasswd-Programm, das die Verschlüsselung erledigt …
Ein Königreich für eine Idee,
aber bitte nicht das Vereinigte …
cu,
Andreas a/k/a MudGuard
Hallo Andreas,
War das früher mal möglich, die Paßwörter unverschlüsselt abzulegen?
Unter Windows musste man früher die Passwörter unverschlüsselt ablegen. Ich weiß ehrlich gesagt nicht, ob das immer noch so ist.
Gruß
Patrick
Nochmal ich 😉
Unter Windows musste man früher die Passwörter unverschlüsselt ablegen. Ich weiß ehrlich gesagt nicht, ob das immer noch so ist.
Und ich habe glaube ich die Antwort darauf selbst gefunden: https://httpd.apache.org/docs/2.4/programs/htpasswd.html
Das war wohl noch früher so, als es nur die crypt()
-Funktion gab. Mittlerweile gibt es besser Algorithmen.
Gruß
Patrick
Lieber Christian,
christian:1234
Bitte kein Verweis auf "ich muss doch das Passwort hashen und salten", ich will das mal GAAAAANZ EINFACH testweise zum laufen bringen.
das kann nicht klappen, da der Apache hier zwingend ein verschlüsseltes Passwort erwartet - egal was Du willst. Tja, „einfach“ sitzt nun mal leider auf der Strafbank direkt neben „nachhaltig“ und „nur ganz kurz“. Aber zum Testen hilft Dir vielleicht der htpasswd-Generator?
Liebe Grüße
Felix Riesterer
Hallo,
Danke euch, das funktioniert tatsächlich. 👏👏👏
Habe es davor aber tatsächlich auch schon mit einem PHP Hash probiert:
$encryptedPassword = password_hash('strengstGeheimstestenst', PASSWORD_DEFAULT);
Bin hier auf CRYPT als Hashing Algorithmus für das Generieren von .htpasswd
Passwörtern gestoßen - akzeptiert .htpasswd
keine anderen Algorithmen (wie eben den aktuellen PHP Hash Algorithmus?)
Danke für eure Hilfe!
Christian
Lieber Christian,
akzeptiert
.htpasswd
keine anderen Algorithmen (wie eben den aktuellen PHP Hash Algorithmus?)
ich bin kein Experte in Kryptographie - und Du bist es auch nicht. Deswegen pflegen die Macher von PHP für Leute wie Dich und mich alle Nase lang den in der Konstanten PASSWORD_DEFAULT
verwendeten Algorithmus und haben sogar eine Funktion im Angebot, welche selbständig prüfen kann, ob beim vorliegenden Hash auch dieser empfohlene Algorithmus verwendet wurde: password_needs_rehash()
Also: Ignoriere andere Möglichkeiten und verlasse Dich in dieser Angelegenheit auf diejenigen, die sich mit soetwas auskennen. Für Interessensfragen auf diesem Gebiet kann die jeweilige Doku Auskunft geben: https://httpd.apache.org/docs/current/programs/htpasswd.html#security
Liebe Grüße
Felix Riesterer
Hallo Felix, Hallo Christian!
Die Passwort-Funktionen von PHP (wie eben auch password_needs_rehash()
) haben wenig bis nichts mit htaccess bzw. htpasswd zu schaffen.
Christian: Nimm das mit Deinem Webserver mitgelieferte Programm htpasswd.
wenn ich "christian" und Passwort "1234" eingebe, wird mir ein Internal Server Error entgegengeworfen.
Hm. Und zu dem „entgegenwerfen“ gehört ein aussagekräftiger Eintrag in einem Error-Log. Das gibt es auch beim XAMPP. Ich kann Dir nur nicht „sagen“, wo es genau liegt. Ich muss mich nicht mit XAMPP befassen und will das auch nicht.
Ein Blick da hinein (error.log) und Du weißt ob es am Name oder Pfad oder dem Mangel an Leserechten liegt.
Hallo Felix, Hallo Christian!
Die Passwort-Funktionen von PHP (wie eben auch
password_needs_rehash()
) haben wenig bis nichts mit htaccess bzw. htpasswd zu schaffen.
Das gilt auch dann wenn ich es selbst „trickreich“ hinbekommen habe (Zeile 377) - Aber Christian wollte es doch „einfach“.