AnsichtenInhaltsverzeichnis .htaccess (Apache Zugriffssteuerung)Auf den meisten Servern läuft das Opensource System Apache. Um den Zugriff auf Webinhalte zu steuern wird die ".htaccess" Datei verwendet. Über diese lassen sich eine Reihe von Funktionen deklarieren welche vom Apache System bei jedem Zugriff ausgewertet werden. So lassen sich sicherheitsrelevante regeln beschreiben. KommentareKommentare lassen sich mit einem "#"-Zeichen einfügen. Alles nach diesem Zeichen wird ignoriert. Inhaltsverzeichnisse auslesenMeistens ist es nicht erwünscht, dass die Inhaltsverzeichnisse von Webseiten ausgelesen werden können. Dies kann über das Schlüsselwort "Options" und entsprechende Parameter verhindert werden. #Inhaltsverzeichnisse auslesen # "-Indexes" Auslesen des Verzeichnisses # "-MultiViews" bewirkt das Multilinguale Seiten ausgegeben werden, statt Index.htm index.htm.de oder index.htm.en # "+FollowSymLinks" leitet 403 Fehler auf die "403.shtml" Datei um, so kann eine individuelle Fehlerseite verwendet werden. Options -Indexes -MultiViews +FollowSymLinks ZugriffssicherungUm sicherzustellen, dass niemand an die ".htaccess"-Dateien gelangen kann, können diese Dateinamen grundsätzlich gesperrt werden. #Verhindert, dass jemand die ".ht*"-Dateien auslesen kann. Der Zugriff auf diese Daten wird verboten <Files ~ "^[\._]ht"> Order allow,deny Deny from all Satisfy All </Files> RedirectÜber sogenannte Redirects können Seiten umgelenkt oder Links korrigiert werden. Dies ist sowohl innerhalb der Domain selbst möglich, wie auch Verweise außerhalb auf eine anderen Domain-Namen. So können alte Seiten auf die neuen verwiesen werden, oder auch wenn ein neuer Domain-Name verwendet wird, kann auf der alten Adresse so auf die neue verwiesen werden. #Redirecting # RewriteEngine einschalten RewriteEngine on # Über bestimmte Suchmuster Seiten umleiten und so auch vor Zugriff schützen. # Hier wird beim Zugriff auf bestimmte Verzeichnisse auf das Stammverzeichnis der Domain verwiesen. RedirectMatch permanent ^/temp/ http://domainname.net/ # Verschiedene Domain-Namen alle auf einen Namen umleiten (das ''[OR]'' bedeutet oder) # Hier werden die www Variante und veraltete Domains umgeleitet RewriteCond %{HTTP_HOST} ^www.domainname.net$ [OR] RewriteCond %{HTTP_HOST} ^www.alter-domainname.net$ [OR] RewriteCond %{HTTP_HOST} ^alter-domainname.net$ RewriteRule ^(.*)$ http://domainname.net [R=301,L] # Hier werden über Regeln URLs korrigiert # Index als HTM(L) wird an ein PHP-Scripts RewriteRule ^index.html?$ index.php [L] RewriteRule ^$ index.php [L] # Direkte eingaben wird zu einem Parameter korrigiert RewriteRule ^(.*)$ index.php?id= [QSA,L] RewriteRule ^_list/([^/]+)/(.*) index.php?do=list_$1&id=$2 [QSA,L] # Falsche Formate werden an die richtigen PHP-Scripts geleitet RewriteRule ^_text/(.*) script/text.php?text=$1 [QSA,L] # ... oder HTM wird zu HTML korrigiert RewriteRule ^index.htm$ index.html [L] BlockenWer bösartige Zugriffe auf seine Webinhalte bemerkt hat, kann diese über dessen IP von der eigenen Seite fernhalten. Oder auch wenn man den Crawler-Bot einer bestimmten Suchmaschine nicht auf der Webseite haben will, der sich nicht an die robots.txt Anweisungen hält. #Sperrt bestimmte Programme die sich über den "Agent" identifiziert haben aus. # RewriteEngine einschalten RewriteEngine On # Alle diese Agenten Zugang verweigern (alle Einträge mit [OR] abschließen außer der letzte) RewriteCond %{HTTP_USER_AGENT} ^Agent1 [OR] RewriteCond %{HTTP_USER_AGENT} ^Agent2\ mehr [OR] RewriteCond %{HTTP_USER_AGENT} Agent3 [OR] RewriteCond %{HTTP_USER_AGENT} AgentA|AgentB [OR] RewriteCond %{HTTP_USER_AGENT} Agent4$ [OR] RewriteCond %{HTTP_USER_AGENT} ^Agent5 # Wenn einer der oberen Anweisungen zutrifft, Zugang verweigern (HTTP Antwort 403) RewriteRule ^.* - [F,L]
#IPs sperren RewriteCond %{REMOTE_ADDR} ^1\.2\.3\.4 [OR] RewriteCond %{REMOTE_ADDR} ^1\.2\.3\.5 [OR] RewriteCond %{REMOTE_ADDR} ^1\.2\.3\.6 RewriteRule ^.* - [F,L]
#Referer sperren RewriteCond %{HTTP_REFERER} SpamWort [OR] RewriteCond %{HTTP_REFERER} ^http://www.spam.com$ RewriteRule ^.* - [F,L]
#Alle Zugriffe verweigern order allow,deny deny from all HTTP-Antworten in DateienStatt eine Standardausgabe für Fehler auszugeben, können so auch selbst verfasste Fehlerdokumente ausgegeben werden. #Für die wichtigsten Fehlerausgaben eine eigene Meldung ausgeben ErrorDocument 400 /domainname/400.shtml ErrorDocument 401 /domainname/401.shtml ErrorDocument 403 /domainname/403.shtml ErrorDocument 404 /domainname/404.shtml ErrorDocument 410 /domainname/410.shtml ErrorDocument 500 /domainname/500.shtml Regulären ausdrückeKurze Beschreibung der hier verwendeten Regulären ausdrücke.
Rewrite Schlüsselwörter"Rewrite"-Regel [Schlüsselwörter] Steuern das Verhalten der Ergebnis der Anweisungen
Server Variablen
|