PHP Portal
» Tutorials
» Apache: etwas Sicherheit per htaccess und mod_rewrite
» verbotene Dateien sowie Duplicate Content
Apache: etwas Sicherheit per htaccess und mod_rewrite :: verbotene Dateien sowie Duplicate Content
Apache: etwas Sicherheit per htaccess und mod_rewrite :: verbotene Dateien sowie Duplicate Content
Die aufgerufen Adressen werden jetzt noch auf einige unerlaubte Dinge geprüft. Es darf kein .. vorkommen, um Anfragen wie index.php?get=/../../passwd zu unterbinden. Des Weiteren pauschal alle Anfragen auf Dateien mit Bezeichnungen wie setup, install, config, etc verbieten.
Code
1
2
3
4
5
6
7
2
3
4
5
6
7
# keine .. in der URL
RewriteCond %{QUERY_STRING} (\.\.)
RewriteRule .* - [F,NS,L]
# keine Spezialdateien
RewriteCond %{REQUEST_URI} (install|setup|config)\.php [NC]
RewriteRule ^(.*)$ index.php [F,L]Alle Anfragen auf die Subdomain www. umleiten - verhindert sogenannten DC (duplicate content) für Suchmaschinen, da sonst die Webseite oft unter www.domain.tld und unter domain.tld abrufbar sind.
Code
1
2
3
4
2
3
4
# wollen immer www. haben
RewriteCond %{HTTP_HOST} !^www\.[a-z-]+\.[a-z]{2,6} [NC]
RewriteCond %{HTTP_HOST} ([a-z-]+\.[a-z]{2,6})$ [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]Alle Anfragen an die index.html, index.php, index.htm oder an die reine Domain an das Hauptverzeichniss umleiten - sonst gibt es wieder DC mit "/" und "/index.html"
Code
1
2
3
4
2
3
4
# index.html etc immer nach / leiten wenn KEINE Parameter anhängen
RewriteCond %{REQUEST_URI} ^/index\.(php|htm|html)$
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ / [L,R=301]