I'm trying to guess the directory where a file is located.
The script's in testing-fase though it already works, there's just one thing I don't understand, when I 'make a directory' like this:
$staatlocatie = "$code4" . "$code" . "/" . "$code2" . "/" . "$code3" . "/" . "$bestandnaam";
//$code(e.g. home) Called randomly from a function
//$code2(e.g. user) Called randomly from a function
//$code3(e.g. documents) Called randomly from a function
//$code4(e.g. http://www.hithere.com/)
//$bestandnaam(e.g. page.php)
Most of the times results appear some sort like this as:
http://www.site.com//user/documents/sitepage.php
OR
http://www.site.com/home/user//sitepage.php
OR
http://www.site.com/home///sitepage.php
In some cases one in 10 or something,it will appear ok, with no empty spaces...
What am I doing wrong???
Thanks in advance!
<?php
//this is an include page...
$errorurl = "<center><a href=\"$HTTP_REFERER\">The submitted page was invalid.</a></center>";
$errortries = "<center><a href=\"$HTTP_REFERER\">Insert a value for the loop to stop.</a></center>";
$erroradres = "<center><a href=\"$HTTP_REFERER\">Insert the full adres.<br>e.g. <i>http://www.site.ma/index.html</i></a></center>";
//$errorpos = "<center><a href=\"$HTTP_REFERER\">Could not establish the occurence of any '/' characters!</a></center>";
$errorreplace = "<center><a href=\"$HTTP_REFERER\">Could not use the url to find a directory.</a></center>";
$fntenhance = "#cd5c5c";
if($tries=="")
{
echo "$errortries" . "$back";
exit;
}
if (!eregi("([url]http://[/url])((([a-z0-9-]+(.[a-z0-9-]+)(.[a-z]{2,3}))|(([0-9]{1,3}.){3}([0-9]{1,3})))((/|\?)[a-z0-9~#%&'_+=:\?.-])*)$", $adres))
{
echo "$errorurl" . "$back";
exit;
}
$tienkar = (substr($adres,0,10));
//echo"tienkar is $tienkar<br>";
$domeintot = (strlen($adres));
//echo"domeintot is $domeintot<br>";
if($tienkar=="http://www")
{
$domeinstr = (substr($adres,10,$domeintot));
$lang = 1;
//echo"domeinstr is $domeinstr<br>";
}
else
{
$domeinstr = (substr($adres,8,$domeintot));
$kort = 1;
//echo"domeinstr zonder www is $domeinstr<br>";
}
$domeinpos = (strpos($domeinstr,"/"));
if($domeinpos==-1)
{
echo "$errorpos" . "$back";
exit;
}
//echo"domeinpos is $domeinpos<br>";
$plustwee = $domeinpos + 1;
//echo"plustwee is $plustwee<br>";
$bestandnaam = (substr($domeinstr,$plustwee,$domeintot));
//echo"bestandnaam is $bestandnaam<br>";
$pakzooi = ereg_replace ("/$bestandnaam","", $address);
//echo"$pakzooi is pakzooi<br>";
if($bestandnaam=="")
{
echo "$erroradres" . "$back";
exit;
}
if($domeinpos>0 && $lang)
{
$domeinstrip = (substr($domeinstr,1,$domeinpos));
//echo"$domeinstrip is domeinstrip<br>";
}
elseif($domeinpos>0 && $kort)
{
$langtest = (strlen($domeinstr)-1);
$domeinstrip = (substr($domeinstr,1,$langtest));
//echo"$domeinstrip is domeinstrip<br>";
}
else
{
echo "$errorreplace"."$back";
exit;
}
$domeinstrip2 = (str_replace(".","",$domeinstrip));
//echo "$domeinstrip2 is domeinstrip2<br>";
$domeinstrip3 = (str_replace("-","",$domeinstrip));
//echo "$domeinstrip3 is domeinstrip3<br>";
$domeinstrip4 = (str_replace("-","",$domeinstrip2));
//echo "$domeinstrip4 is domeinstrip4<br>";
$domeinpos2 = (strpos($domeinstrip,"."));
$domeinstrip5 = (substr($domeinstrip,0,$domeinpos2));
//echo "$domeinstrip5 is domeinstrip5<br>";
$domeinstrip6 = (strrev($domeinstrip5));
//echo "$domeinstrip6 is domeinstrip6<br>";
$domeinstrip7 = (str_replace("-","",$domeinstrip6));
//echo "$domeinstrip7 is domeinstrip7<br>";
$domeinstrip8 = (strrev($domeinstrip7));
//echo "$domeinstrip8 is domeinstrip8<br>";
function getRandomOne($length) {
mt_srand((double)microtime()*1000000);
$code = array('home','usr','admin');
for ($x=0; $x<$length; $x++) {
$return .= $code[ rand(0,sizeof($code)) ];
}
return $return;
}
function getRandomTwo($length) {
mt_srand((double)microtime()*1000000);
$code2 = array('usr','user','users','sites','site','site1','site2','site3','site4','local','pub','public',
$domeinstrip,$domeinstrip2,$domeinstrip3,$domeinstrip4,$domeinstrip5,$domeinstrip6,
$domeinstrip7,$domeinstrip8,'www','nobody','admin','home','localhost');
for ($x=0; $x<$length; $x++) {
$return2 .= $code2[ rand(0,sizeof($code2)) ];
}
return $return2;
}
function getRandomThree($length) {
mt_srand((double)microtime()*1000000);
$code3 = array('HTML','documents','images','pictures','guestbook','password','users','local','pub','public',
'guests','guest','picture','document','usr','user','users','sites','site','site1','site2','site3','site4',
$domeinstrip,$domeinstrip2,$domeinstrip3,$domeinstrip4,$domeinstrip5,$domeinstrip6,
$domeinstrip7,$domeinstrip8,'www','nobody','admin','home','localhost');
for ($x=0; $x<$length; $x++) {
$return3 .= $code3[ rand(0,sizeof($code3)) ];
}
return $return3;
}
if($kort)
{
$code4 = "$pakzooi" . "/";
}
if($lang)
{
$code4 = "$pakzooi" . "/";
}
echo"<table><tr><th><center>Directory</center></th><th></center>Success</center></th></tr>";
$begin = time();
for($y=0;$y<$tries;$y++)
{
$code = getRandomOne(1);
$code2 = getRandomTwo(1);
$code3 = getRandomThree(1);
$staatlocatie = "$code4" . "$code" . "/" . "$code2" . "/" . "$code3" . "/" . "$bestandnaam";
//$fd = fopen("$staatlocatie","r");
if(!file_exists($staatlocatie))
{
$fout = $fout + 1;
echo"<tr><td>$staatlocatie</td><td>Directory doesn't exist</td></tr>";
}
else
{
$goed = $goed + 1;
echo"<tr><td>$staatlocatie</td><td><font color=\"$fntenhance\"><u>BINGO!</u></font></td></tr>";
}
}
if($fout=="")
{
$fout=0;
}
if($goed=="")
{
$goed=0;
}
$timekill = time();
$killtime = $timekill - $begin;
echo"</table><p><u>$y Directories tried in $killtime seconds:</u><ul><li>$fout did not match<li>$goed matching results</ul><p>Have a nice day.$back";
?>