Fabian Transchel: Sicherheitsloch!!

Beitrag lesen

Hi,

hi

welcher art? ich habe ehrlich gesagt keine wirkliche ahnung, wie ich rausbekommen kann, wo das include liegt.
wenn du mir erklären könntest, wie man das absichern kann, wäre das eine große hilfe.

Es gibt mehrere Lösungen, du kannst dir alle Dateien die zu deinem Projekt gehören in ein Array legen und vor dem include überprüfen ob es eine Seite ist die im Array liegt:

$handle=opendir ("./");

while (false !== ($file = readdir ($handle)))
              {
              if (($file != ".") && ($file != ".."))
                 {
                 $myfiles["$file"] = true;
                 }

}
         closedir($handle);

if ($myfiles["$site"] == true) include($site);

Dies hier ist natürlich etwas kritisch mit unterverzeichnissen usw.

Oder, aber du deaktiviesrt wie gesagt in der Servereinstellung "URL fopen wrappers", wie das genau geht kann ich dir allerdings auch nicht sagen.

habe ich wohl keinen zugriff drauf, neuen server brauch ich auch...

aber: ich habe mir wenigstens gedanken gemacht. (was zwar nicht hilft..aber als PHP-newbie...)

Naja, ich denke das 95% der User deiner Seite nicht auf eine Idee kommen, deine bisherige Abfrage auszuhebeln.

ja, aber das sind 5% zuviel ;)

also: hier wäre mein ansatz:

$sec = array("hier kommen alle möglichen seiten rein");
$seccount = 0;
$da = false;
while($sec[$seccount] != "" && $da != true)
{
if($sec == $page)$da = true;
else $seccount++;
}
if($da = true)@include($page.".php");
else die("Zugriff verweigert!");

wie gesagt, wir dnoch schöner, aber vom ansatz her würde das gehen, oder?

gruß

ueps

Fabian