Nič si nenašiel.
Tá funkcia vyzerá takto:
Kód: Vybrať všetko
function CheckExtBlackList($file)
{
if (EXTBLACKLIST != "")
{
$blacklist = explode(" ", EXTBLACKLIST);
foreach ($blacklist as $black)
{
if(preg_match("/$black\$/i", $file))
{
return false;
}
}
return true;
}
else return true;
}
(to je funkcia, ktorá kontroluje, či je prípona zakázaná)
Funkcia, ktorá kontroluje, či je prípona povolená by mohla vyzerať takto:
Kód: Vybrať všetko
function CheckExtWhiteList($file)
{
if (defined("EXTWHITELIST") && EXTWHITELIST != "")
{
$blacklist = explode(" ", EXTWHITELIST);
foreach ($blacklist as $black)
{
if(preg_match("/$black\$/i", $file))
{
return true;
}
}
return false;
}
else return true;
}
Podmienka
Kód: Vybrať všetko
if ($_FILES['file']['error'] != UPLOAD_ERR_OK || !FileManagerCore::CheckExtBlackList($_FILES['file']['name']))
sa potom zmení na
Kód: Vybrať všetko
if ($_FILES['file']['error'] != UPLOAD_ERR_OK || !FileManagerCore::CheckExtBlackList($_FILES['file']['name']) || !FileManagerCore::CheckExtWhiteList($_FILES['file']['name']))
a niekde na začiatok súboru sa dá
(a možno sa to bude musieť upraviť, keďže som to netestoval a netuším, či tam nie je chyba)