dotdotslash
Turpinājums par ../ tēmu un php. Šoreiz varēsiet paši padomāt. Tālāk divi piemēri.
Teiksim ir kaut kāds linux serveris uz kura griežas lapa. Pieņemsim, ka caurā lapa ir "/www/secure/blog/index.php". Uzdevums ir inklūdot "/www/secure/puff.php". Abi zemāk redzamie kodi ir līki. Kādus parametrus vajag index.php, lai inklūdotos puff.php?
kods 1:
$url = str_replace("../","",$_GET['url']);
$hfile = fopen("/www/secure/blog/$url", "r");
if(!$hfile){
echo "Nivar atveert failu!";
exit;
}
while (!feof($hfile)){
$line = fgets ($hfile, 1024);
echo $line;
}
kods 2:
if((strpos($_GET['url'],"../") === false)
AND (strpos($_GET['url'],"://") === false))){
$hfile = fopen("$url", "r");
if(!$hfile){
echo "Nivar atveert failu!";
exit;
}
while (!feof($hfile)){
$line = fgets ($hfile, 1024);
echo $line;
}
}