Hallo Mitglieder,

ich möchte an der Stelle zum Thema htaccess ein paar Lösungen sammeln und Nutzen oder nicht erörtern.
  • Den Zugriff auf gültige HTML Protokolle beschränken.
    HTTP/0.9, HTTP/1.0 und HTTP/1.1 sind gültige Protokolle, weiteren sind nicht valide ./. kein Browser, ist daher nicht zugelassen

    HTML-Code:
    # Only Valid HTTP Protocol Requests 
    RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ .+\ HTTP/(0\.9|1\.0|1\.1) [NC]
    RewriteRule .* - [F,NS,L]
  • Das Filtern von unsicheren Request Methoden.
    HTTP Protokoll unterstützt GET / POST und viele weitere Anfrage Möglichkeiten

    HTML-Code:
    # Only Safe Request Methods 
    RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|POST|PROPFIND|OPTIONS)$ [NC]
    RewriteRule .* - [F,NS,L]
  • POST Requets - Anfragen die von Formularen auf der Webseite ausgelöst werden, die aber keinen USERAGENT enthalten, werden geblockt.

    HTML-Code:
    # Block POST - Requests without Useragent
    RewriteCond %{REQUEST_METHOD} =POST
    RewriteCond %{HTTP_USER_AGENT} ^-?$
    RewriteRule .* - [F,NS,L]
  • INJECTIONS & Sicherheitsaspekt. XSS (Cross Site Scripting) genannt.
    In Web Applikationen mit Sicherheitslücken, oft sind es Foren & Onlineshops, werden fremde Quelltexte eingeschleußt und ausgeführt.

    HTML-Code:
    # Block some Injection
    RewriteCond %{REQUEST_METHOD} =GET [OR]
    RewriteCond %{REQUEST_METHOD} =POST [OR]
    RewriteCond %{REQUEST_METHOD} =HEAD
    RewriteCond %{QUERY_STRING} (ftps?|https?):// [NC,OR]
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC]
    RewriteRule .* - [F,NS,L]