Include Problem

So, ich will Euch mal bezueglich des Security-Problems in meinem Script auf den aktuellen Stand bringen.
Nachdem ich also jetzt eine ganze Weile rumgetestet habe bin ich jetzt erstmal kann ich mit Sicherheit sagen, dass allow_url_fopen off ist.
Weiterhin hab ich lokal mal mit include ueber http rumgetestet und wie es aussieht muss http:// oder ftp:// mit uebergeben werden, da ansonsten davon ausgegangen wird, dass es sich um eine lokale Datei handelt. Auch wenn als Datei http://www.abc.de angegeben wird.
Dementsprechend hab ich mein Script jetzt etwas erweitert, sodass $subsite auf die Strings http: und ftp: ueberprueft wird.
Das sieht jetzt so aus:
PHP:
$subsite=$_GET["subsite"];
if ($subsite)
	{
		if ((strpos($subsite,"index.php")>-1) || (strpos($subsite,"http:")>-1) || (strpos($subsite,"ftp:")>-1))
			{
				header("Location: index.php");
			}
		else
			{
				include($subsite);
			}
	}
else
	{
		include("welcome.php");
	}

Dementsprechend sollte das Script jetzt hinreichend geschuetzt sein fuer den Fall, dass der Hoster auf die Idee kommen sollte allow_url_fopen on zu stellen.
Ausserdem hab ich meine ganzen Scripts auch mal umgestellt, dass sie auch im Fall von register_globals off weiterhin funkionieren. Mein Hoster hat den Wert zwar on, jedoch kann es ja immer mal sein, dass irgendein Admin spontan auf lustige Ideen kommt. Ausserdem ist's ja auch im Sinne der Security.

So, falls noch jemand irgendwie was anzumerken hat, bin ich immer offen fuer neue Informationen.
 
Zurück