Sicherheit: httpd.conf mod_rewrite GET Parameter

Beitrag lesen

Hallo Jörg,

Da gibt es nämlich sehr viele Wege. Nur einer ist ein regulärer Ausdruck. Einer der vielen anderen geht über einen Array.

So zu ermitteln ob es sich um eine Domain handelt, habe ich schon nachgedacht. Dann gibt es aber noch folgendes:

net.de.com.example.de.com
org.net.co.hu.example.co.uk

Damit ist es mit der Funktion wieder nicht getan und es wird wieder komplizierter, da ich nicht weiß ob die domain auf .co.uk oder nur auf .uk endet. Denn .uk kann in diesem Fall ja auch schon richtig sein, obwohl .co.uk die Domainendung ist. So muss ich zuerst immer auf .co.uk prüfen, indem ich erst die beiden letzten Array-Bestandteile zusammenfüge und wenn das nicht zutrifft, auf das letzte Arrayfeld überspringen und prüfen. Und was mache ich mit Domainnamen die com, co und org heißen? Dann habe ich www.com.pl, www.co.uk und www.org.hu :)
Kompliziert kompliziert, aber mit meiner Methode ist es bisher auch noch nicht gelöst.

Andererseite habe ich damit noch nicht überprüft, ob $_SERVER['HTTP_HOST'] auch in anderer Hinsicht eine korrekte URL darstellt. Der Domainname kann abweichen, er wird weil er äußerst flexibel ist auch nicht in der httpd.conf gespeichert. $_SERVR['SERVER_NAME'] hat damit als Rückgabewert nur die IP 127.0.0.1 und würde eine falsche URL zurückgeben, obwohl in der Adresszeile eine womöglicher Weise korrekte URL steht. Ergo ist ein regulärer Ausdruck hier schon unausweichlich um den vom Nutzer manipulierbaren Wert von HTTP_HOST zu prüfen. In diesem Zuge kann ich ja auch die Domainendung mittels RegEx prüfen.

"Mann oh Mann. Du solltest Bauingenieur werden, Dir fällt nämlich absolut nichts ein."
Ich hab schon an sehr viele Dinge gedacht, sie müssen aber mit der Idee und der Umsetzung kompatibel sein.

mfg,