Autor Zpráva
maxthlon123
Profil *
Dobrý den,

chci se Vás zeptat, zda někdo nevidí víc než já? Příkazy mají za úkol vymazat vše co najde ve složce, který udávám v adrese pod id. Nějak mi to ale nefachá. Výpis chyb mám vypnutý, tak bohužel ani nevim jestli vypisuje chybu a jakou. Vidite tam neco co mi unika? Děkuju

Ps: vím, že zhlediska bezpečnosti to je vražda stránek, ale o to mi nejde :-)


foreach($_GET["id"] as $keyword => $hodnoty){
    $pathdir = "/home/www/neco.cz/www/image/fotogalery/".intval($_GET["id"]);
    if($handledir = opendir($pathdir)){
      for(;false !== ($files = readdir($handledir));){
        if($files != "." && $files != ".."){
          if(unlink($pathdir."/".$files)) $inf.="files ".$files;
        }
      }
    closedir($handledir);
    if(!rmdir('/home/www/neco.cz/www/image/fotogalery/'.intval($_GET['id'])));
    }
}
Joker
Profil
maxthlon123:
foreach $_GET["id"] a vzápětí intval($_GET["id"])?
Tak buď $_GET["id"] je pole a pak je blbost dělat intval, nebo je to číslo a pak je blbost dělat foreach.
maxthlon123
Profil *
jsem idiot :-) jj, stacilo jen vymazat prikaz foreach :) děkuju za upozorneni na moji blbost :-)
maxthlon123
Profil *
Jeste se chci zeptat na posledni vec. Mazani funguje, ale musim na ftp nastavit chmod 0777. Na chmod v prikazu hazi bobek.

$pathdir = "/home/www/neco.cz/www/image/fotogalery/".intval($_GET["id"]);
    chmod($pathdir, 0777);
    if($handledir = opendir($pathdir)){
      for(;false !== ($files = readdir($handledir));){
        if($files != "." && $files != ".."){
          chmod($pathdir."/".$files, 0777);
          unlink($pathdir."/".$files);
        }
      }
    closedir($handledir);
    if(!rmdir($pathdir));
    }
Joker
Profil
maxthlon123:
Možná uživatel pod kterým běží PHP nemá oprávnění měnit oprávnění daného souboru.
maxthlon123
Profil *
Příkaz je vykonavan v subdomene, tak to by mohl bejt ten pruser :-( To ale zname, ze celej kod je na nic :-(

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0