1. .htaccess
Die Einstellungen in der .htaccess-Datei (als Vorlage dient die Datei demo.htaccess) sind für den von dir benutzten Webserver wichtig und Sicherheitsrelevant. Eine falsche Einstellung (manchmal nur ein einziges Zeichen) können deinen Webauftritt verhindern oder unsicher machen.
Hier, wie in allen Konfigurationsdateien, nur die entsprechend gekennzeichneten Stellen an deine Bedingungen anpassen. Der Übersichtlichkeit wegen wird hier die komplette Datei angezeigt.
Die blaue Schrift dient nur der Erklärung einzelner Anpassungen und darf nicht in der eigentlichen Datei stehen und der orange hervorgehobene Text muss entsprechend angepasst werden!
# TobbiVM-Shop
# Copyright (C) 2016
RewriteEngine on
Options -Indexes
Options +FollowSymlinks
# XSS-Header for apache server
<IfModule mod_headers.c>
Header always append X-Frame-Options SAMEORIGIN
</IfModule>
# No double content while using www.domain.de and domain.de...
# and delete the index.php from url
Hier werden Seitenaufrufe wie „Mastershop.de” oder „mastershop.de” in das einheitliche Format „http://www.mastershop.de” gebracht. Dies verhindert ebenfalls den sogenannten „Double Content” und damit eine Abstrafung seitens der Suchmaschinen.
Bei einem Multidomain-Shop müssen für jede weitere Domain diese beiden Zeilen nochmals (mit entsprechendem Domainnamen) eingefügt werden.
RewriteCond %{HTTP_Host} ^astershop.de$ Hier den ersten Buchstaben weglassen!
RewriteRule ^(.*)$ http://www.mastershop.de/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /index\.php
RewriteBase /
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
# Mod Headers – Security
<IfModule mod_headers.c>
# Avoid Clickjacking
Header append X-Frame-Options “SAMEORIGIN”
# prevent mime based attacks like drive-by download attacks, IE and Chrome
Header set X-Content-Type-Options “nosniff”
</IfModule>
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#RewriteRule ^(.*).html$ index.php?$1 [L]
Hier kannst du deine eigenen Fehlerseiten angeben, musst du aber nicht.
ErrorDocument 400 /template/notrepassing.php
ErrorDocument 401 /template/notrepassing.php
ErrorDocument 403 /template/notrepassing.php
ErrorDocument 404 /template/notrepassing.php
ErrorDocument 500 /template/notrepassing.php
ErrorDocument 500 /template/notrepassing.php
# Additional protection of the config files
Hier werden eventuelle Zugriffsversuche auf deine Konfigurationsdateien verhindert
RewriteCond %{REQUEST_FILENAME} config.php$
RewriteRule ^.*$ template/notrepassing.php
RewriteCond %{REQUEST_FILENAME} config_0.php$
RewriteRule ^.*$ template/notrepassing.php
RewriteCond %{REQUEST_FILENAME} config_1.php$
RewriteRule ^.*$ template/notrepassing.php
RewriteCond %{REQUEST_FILENAME} config_2.php$
RewriteRule ^.*$ template/notrepassing.php
RewriteCond %{REQUEST_FILENAME} config_3.php$
RewriteRule ^.*$ template/notrepassing.php
RewriteCond %{REQUEST_FILENAME} config_4.php$
RewriteRule ^.*$ template/notrepassing.php
RewriteCond %{REQUEST_FILENAME} config_5.php$
RewriteRule ^.*$ template/notrepassing.php
Nach der Anpasung der Einträge muss die Datei „demo.htaccess” in „.htaccess” umbenannt werden.