Autor Zpráva
bazz
Profil
někde jsem četl že to je chyba když se používají absolutní cesty ale ty tam nemám, netušíte kde je bota?

<?php
if (!isset($_GET['soubor'])){$_GET['soubor']='';}
$soubor = $_GET["soubor"];

if (empty($soubor)) {
  echo "vyberte soubor k odstranění:<br>";
}
else {

function rrmdir($soubor) {
    foreach(glob($soubor . '/*') as $file) {
        if(is_dir($file))
            rrmdir($file);
        else
            unlink($file);
    }
    rmdir($soubor);
}

}

?>

<?php
$slozka = dir("./uploads/");
while($soubor=$slozka->read())

 {
  if ($soubor=="." || $soubor=="..") continue;
  echo "
  <span><a href=\"uploads/$soubor\"  onclick=\"return confirm('opravdu smazat tento soubor?')\">$soubor</a></span><br>\n";
 
}
$slozka->close();
?>
Keeehi
Profil
To vypadá na špatná práva přístupu k souboru/složce. Uživatel pod kterým běží PHP musí mít práva na čtení souboru/složky. Práva se mění funkcí chmod.
bazz
Profil
Práva jsou nastaveny. Spíš bych to viděl na špatnou relativní cestu k souboru. Nevím jak víc relativní by ale měla být. Snad funkce basename ale nevim
Alphard
Profil
bazz [#3]:
Která funkce konktréně tuto hlášku vypisuje? Kdyby byla špatná cesta, čekal bych chybovou hlášku o neexistenci souboru, tohle vypadá skutečně na problém s oprávněním.
bazz
Profil
práva jsou nastaveny stopro... dokonce jsem je nastavil i nadřazeným složkám a žádná změna
anonymníí
Profil *
bazz:
Na kterém řádku chyba vzniká?
bazz
Profil
jak to zjistím?


hláška která se mi zobrazuje je:

Forbidden

You don't have permission to access /mec/uloz/uploads/1/ on this server.
Keeehi
Profil
Tohle není hláška PHP ale serveru.

V závislosti na verzi apache se dá přístup povolit v .htaccess
#v2.2
Order allow,deny
Allow from all

#v2.4
Require all granted
bazz
Profil
když použiju require all granted, nevyruším si tím require valid-user (přístup pouze s heslem)?
Keeehi
Profil
bazz:
Velmi pravděpodobně ano, ale nejdříve to musíš zprovoznit a pak teprve být restriktivní přičemž po každé takové úpravě sleduješ, zda to pořád funguje.

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