.htaccess Tutorial
Daniel
- webserver
Hi,
ich habe hier schon des öfteren was von .htaccess Dateien gelesen. Da
ich auch Websites erstelle interesiert mich das Thema Sicherheit
natürlich. gibt es irgendwo ein gutes Tutorial oder ähnliches damit ich
den umgang, das erstellen etc. von .htaccess dateien lernen kann? sowas
wie SELFhtaccess???
MfG
Hallo Daniel.
Hier ist ein kleines Tutorial von SelfHTML zum Thema htaccess:
http://de.selfhtml.org/servercgi/server/htaccess.htm
Man liest sich, H2O
Hi,
danke. hab mir das hier
AuthType Basic
AuthName "Service-Bereich"
require user Werner Dieter Heidi
require group Servicetechniker
da grad auskopiert, und als .htaccess in einen ordner gespeichert, der
fragt mich aber kein passwort, woran könnte das liegen? hab mal gehört
das man die .htaccess datein vom Server her "deaktivieren" kann. wo kann
ich kucken obs deaktiviert ist?
MfG
Hallo Daniel.
da grad auskopiert, und als .htaccess in einen ordner gespeichert, der
fragt mich aber kein passwort, woran könnte das liegen? hab mal gehört
das man die .htaccess datein vom Server her "deaktivieren" kann. wo kann
ich kucken obs deaktiviert ist?
So gut kenne ich mich auch nicht damit aus, aber bist du denn sicher, dass dein Server auch .htacces annimmt?
Sprechen wir von deinem localhost? Ansonsten lese dir am Besten mal durch, ob dein Anbieter .htacces erlaubt.
Man liest sich, H2O
Hi,
So gut kenne ich mich auch nicht damit aus, aber bist du denn sicher, dass dein Server auch .htacces annimmt?
Ist Appache, falls du das meinst, und da geht .htaccess ja.
Sprechen wir von deinem localhost?
jupp, will erstma local etwas rumprobiern bevor ichs on stelle. und
daher wäre es kein problem die deaktivierung, fals vorhanden
rauszunehmen.
MfG
Hi Daniel,
So gut kenne ich mich auch nicht damit aus, aber bist du denn sicher, dass dein Server auch .htacces annimmt?
Ist Appache, falls du das meinst, und da geht .htaccess ja.
Die Frage von H2O bezog sich wohl eher darauf, ob die Verwendung von .htaccess Dateien bei deinem Apache Server erlaubt ist - in der Konfiguration für den Apachen lässt sich nämlich die Verwendung von .htaccess Dateien bzw. deren Beachtung (auch für einzelne Ordner) deaktivieren.
Sprechen wir von deinem localhost?
jupp, will erstma local etwas rumprobiern bevor ichs on stelle. und
daher wäre es kein problem die deaktivierung, fals vorhanden
rauszunehmen.
Noch mal zurück zu deinem Code:
require user Werner Dieter Heidi
require group Servicetechniker
Diese beiden Zeilen hast du nur so aus SelfHTML kopiert, anscheinend ohne dier das genauer durchzulesen. Verwende einfach nur diese Zeile:
require valid-user
Unabhängig davon fehlt in deinem Code aber eine wichtige Zeile, nämlich die Zeile, die den Pfad zu der Datei angibt, in der die User mit den Passwörtern drinstehen. Das sieht so aus:
AuthUserFile /usr/verwaltung/web/.htusers
Der Pfad muss ein absoluter Pfad sein - so wie du es oben siehst ist es ein Linux Pfad, wenn du unter Windows arbeitest, müsstest du es z.B. so schreiben: C:/Pfad/zur/.htusers
Wie du die eigentliche Passwort Datei gestaltest (die muss übrigens nicht .htusers heißen), steht auch in dem Artikel. Beachte, dass du unter Linux die Passwörter verschlüsselt in die Datei speichern musst, unter Windows jedoch unverschlüsselt.
MfG, Dennis.
Hi,
Die Frage von H2O bezog sich wohl eher darauf, ob die Verwendung von .htaccess Dateien bei deinem Apache Server erlaubt ist
und wo seh ich das?? phpinfo();?
Noch mal zurück zu deinem Code:
code in .htaccess:
AuthType Basic
AuthName "Service-Bereich"
AuthUserFile c:\pfad.htusers
require valid-user
wenn im pfad ein leerzeichen(" ") ist macht das dann probleme?
Hi Daniel,
Die Frage von H2O bezog sich wohl eher darauf, ob die Verwendung von .htaccess Dateien bei deinem Apache Server erlaubt ist
und wo seh ich das?? phpinfo();?
Wie kommst du auf die Idee, dass die Konfiguration von PHP etwas mit der Konfiguration deines Servers zu tun hätte? Abgesehen davon schriebe ich doch: "in der Konfiguration(sdatei) für den Apachen" -> dabei handelt es sich um die httpd.conf
AuthType Basic
AuthName "Service-Bereich"
AuthUserFile c:\pfad.htusers
require valid-userwenn im pfad ein leerzeichen(" ") ist macht das dann probleme?
Ich denke schon, versuche also mit Pfadangaben ohne Leerzeichen auszukommen - du kannst allerdings auch mal probieren, den Pfad dann in "" zu setzen.
Weiterhin denke ich, dass du den Pfad mit Slashes und nicht mit Backslashes schreiben musst, da in der httpd.conf die Pfade generell immer so angegeben werden. Backslashes müsstest du vermutlich escapen, aber versuch es lieber erst gar nicht ;-)
MfG, Dennis.
Hi,
wo steht in der Konfig ob .htaccess erlaubt ist?
das hier steht in der httpd.conf bei LoadMod:
LoadModule access_module modules/mod_access.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_module modules/mod_auth.so
#LoadModule auth_anon_module modules/mod_auth_anon.so
#LoadModule auth_dbm_module modules/mod_auth_dbm.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule headers_module modules/mod_headers.so
LoadModule imap_module modules/mod_imap.so
LoadModule include_module modules/mod_include.so
#LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule negotiation_module modules/mod_negotiation.so
#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule status_module modules/mod_status.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule ssl_module modules/mod_ssl.so
warum ist da manchmal ein # davor? das ist doch für kommentar. heißt das die mit # vornedran werden nichtgeladen, oder?
MFg
Hi Daniel,
warum ist da manchmal ein # davor? das ist doch für kommentar.
richtig.
heißt das die mit # vornedran werden nicht geladen, oder?
Genau so ist es.
Für eine Authentifizierung müsste eines bzw. beide folgenden Module verantwortlich sein:
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
Wenn du z.B. mod_rewrite nutzen möchtest, womit du URL's umleiten kannst (z.B. /foo soll auf /index.php?page=foo verweisen, /bla entsprechend auf /index.php?page=bla), müsstest du folgende Zeile mit einbeziehen, also das Kommentarzeichen entfernen:
#LoadModule rewrite_module modules/mod_rewrite.so
MfG, Dennis.
Hallo Daniel
da grad auskopiert, und als .htaccess in einen ordner gespeichert, der
fragt mich aber kein passwort, woran könnte das liegen? hab mal gehört
das man die .htaccess datein vom Server her "deaktivieren" kann. wo kann
ich kucken obs deaktiviert ist?
Welchen Wert hat AllowOverride in der Serverkonfiguration? Wird das Modul mod_auth geladen? Hast du ein AuthUserFile angelegt und angegeben?
Wenn das nicht weiterhilft: (Steht) was steht im Error-Log?
Schöne Grüße,
Johannes
HI,
Welchen Wert hat AllowOverride in der Serverkonfiguration?
wo kann ich das nachschaun?
Wird das Modul mod_auth geladen?
wo kann ich das nachschaun?
Hast du ein AuthUserFile angelegt und angegeben?
ja, glaub aber das es nicht so richtig funktioniert da ich ein
leerzeichen im pfad habe. warum macht der garnichts wenn er die datei
nicht findet? oder sollte er etwas machen? bei mir regt sich jedenfalls
nichts.
MfG
Hallo Daniel,
Welchen Wert hat AllowOverride in der Serverkonfiguration?
wo kann ich das nachschaun?
In deiner Serverkonfiguration. Normalerweise sollte die httpd.conf oder so ähnlich heißen.
Wird das Modul mod_auth geladen?
wo kann ich das nachschaun?
Ebenfalls in der Serverkonfiguration, gucke unter LoadModule. Aber wenn das nicht installiert wäre, sollte es eigentlich einen 500er-Error geben.
Hast du ein AuthUserFile angelegt und angegeben?
ja, glaub aber das es nicht so richtig funktioniert da ich ein
leerzeichen im pfad habe. warum macht der garnichts wenn er die datei
nicht findet? oder sollte er etwas machen? bei mir regt sich jedenfalls
nichts.
Aus der Ferne kann man das schlecht beurteilen, da man keinen Zugriff auf den Server hat. Versuch mit einer Pfadangabe ohne Leerzeichen auszukommen, das sollte man aus solchen Gründen sowieso immer tun. Ich vermute auch, dass du bei der Pfadangabe keine Backslashes (''), sondern einfach Slashes ('/') verwenden musst.
Schöne Grüße,
Johannes
Hi,
# Options FileInfo AuthConfig Limit
AllowOverride All
da stand
AllowOverride None
MfG
Hi Daniel,
AllowOverride All
Für deinen Fall hätte eigentlich auch AllowOverride AuthConfig
reichen müssen.
MfG, Dennis.