Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
apache:htaccess [2015/02/14 17:18] – [Authentifizierung gegen mysql] st | apache:htaccess [2018/11/23 09:22] (aktuell) – [.htpasswd] st | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Zugriffsschutz mit Apache (.htaccess) ====== | ||
+ | [[wpde> | ||
+ | :!: Die Konfiguration durch .htaccess-Datei muss in der Apache-Konfiguration aktiviert sein (standardmäßig ist " | ||
+ | |||
+ | < | ||
+ | < | ||
+ | AllowOverride AuthConfig | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | |||
+ | ===== Beispiel ===== | ||
+ | ==== .htaccess ==== | ||
+ | |||
+ | |||
+ | * Diese **Datei in den zu schützenden Ordner** legen!< | ||
+ | # .htaccess-Datei für ein Web-Verzeichnis | ||
+ | |||
+ | AuthType Basic | ||
+ | AuthName " | ||
+ | AuthUserFile .htpasswd | ||
+ | Require user NAME | ||
+ | </ | ||
+ | * oder **zentral in der Apache-Konfiguration** innerhalb eines virtuelles Host (statt "/" | ||
+ | < | ||
+ | AuthType Basic | ||
+ | AuthName " | ||
+ | AuthUserFile / | ||
+ | Require valid-user | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== .htpasswd ==== | ||
+ | Passwörter verschlüsselt mit Bcrypt ablegen: | ||
+ | |||
+ | **Datei anlegen mit erstem Benutzer** " | ||
+ | htpasswd -c -B / | ||
+ | |||
+ | < | ||
+ | # Die Datei würde so aussehen, bei Passwort 123: | ||
+ | BENUTZERNAME: | ||
+ | </ | ||
+ | |||
+ | Anschließend **weitere Benutzer hinzufügen**: | ||
+ | htpasswd -s / | ||
+ | ===== Authentifizierung gegen mysql ===== | ||
+ | |||
+ | FIXME md5-hashes sind nicht sicher, es sollte eine alternative benutzt werden! | ||
+ | |||
+ | apt-get install libapache-mod-auth-mysql | ||
+ | |||
+ | < | ||
+ | AuthName "Bitte Benutzername und Passwort eingeben" | ||
+ | AuthMySQL On | ||
+ | AuthMySQL_Host localhost | ||
+ | AuthMySQL_User DB_BENUTZERNAME | ||
+ | AuthMySQL_Password DB_PASSWORT | ||
+ | AuthMySQL_DB DATENBAK | ||
+ | AuthMySQL_Password_Table TABELLE_MIT_USERN | ||
+ | AuthMySQL_Username_Field FELD_MIT_BENUTZERNAMEN | ||
+ | AuthMySQL_Password_Field FELD_MIT_PASSWOERTERN | ||
+ | AuthMySQL_Encryption_Types Plaintext | ||
+ | AuthMySQL_Encrypted_Passwords Off | ||
+ | AuthType Basic | ||
+ | require valid-user | ||
+ | </ | ||
+ | Besser wäre es allerdings nur die md5-Hashes abzuspeichern: | ||
+ | < | ||
+ | AuthMySQL_Encryption_Types PHP_MD5 | ||
+ | AuthMySQL_Encrypted_Passwords On | ||
+ | </ | ||
+ | |||
+ | - Passwort-Feld vom Typ varchar(32) | ||
+ | - Neue Benutzer so in die Datenbank eintragen: | ||
+ | <code mysql> | ||
+ | Insert into TABELLE_MIT_USERN (FELD_MIT_BENUTZERNAMEN, | ||
+ | </ |