Regina Schaukrug: Ordner mit Passswort schützen

Beitrag lesen

saschi:uR5hMXxicjYAQ
Kalle:$apr1$d.Qjukyv$rrvy428pjTCcGIYq0VwZZ.

Beides Passwörter sind schlecht, genauer: unsicher, "gehascht". Das Obere ist wohl MD5, das untere Apache-MD5. Der Apache 2.4 versteht mit bcyrypt "gehaschte" Passwörter, die auf folgende Weise erzeugt werden können:

PHP:

$apachepassword  = password_hash( $password, PASSWORD_BCRYPT );

Ergebnis: etwas wie:

"$2y$10$fSdkqk5HVN8YjDAAWmAPQucFtNJI7GM2rlQFPCDhdr719HyfPV6Wy"

Shell:

user="hugo";
pass="hallo"
apachepasswordline=`htpasswd -Bbn "$user" "$pass"`
echo $apachepasswordline

Ergebnis: Etwas wie:

hugo:$2y$05$Stz/8OKhna7Iy4W3GbKW.OM4W2hrhJ5TGWQBHElaX04Ht5lkMFmR.

In den folgenden Zeilen mischst Du fröhlich alte und neue Syntax:

require valid-user     # vor und nach 2.4
deny from all          # vor 2.4
Satisfy Any            # vor 2.4

Das geht, wenn überhaupt, nur wenn das Modul "mod_access_compat" installiert und aktiviert ist.

Hier gibt es die Hinweise für den Übergang zum Apache 2.4.

Und hier gibt es eine von zahlreichen Fertiglösungen.