Расширение контроля загрузки файла PHP - PullRequest
0 голосов
/ 25 февраля 2019

Я проверил это для контроля и принимаю только jpg и pdf, но он не запускается

$nomedic = $_FILES["file"]["name"];
$extdic = pathinfo($nomedic, PATHINFO_EXTENSION);

if($extdic != "pdf" OR $extdic != "jpg" OR $extdic != "jpeg")
{
    header('Location:fileko.php');
}


$finedic='DIC';
$nomedichiarazione=$id_ope.'-'.$id_dom.'-'.$prot_dom.'-'.$A016.'-'.$finedic.'.'.$extdic;

1 Ответ

0 голосов
/ 25 февраля 2019

PHP будет проверять каждое условие, пока не найдет что-то, что true.Это означает, что даже если ваш файл является PDF-файлом, условие $extdic != "jpg" сработает и вернет true, тем самым выполнив вызов header.

Вы можете создать массив всех разрешенных расширений и проверить,расширение текущего файла существует в этом списке.Если это не так, перенаправьте прочь!Вы также должны позвонить exit; после header("Location: .."); вызова.

Я также добавил strtolower(), если входящий файл имеет расширение в верхнем регистре (например, myFile.JPG).

if(!in_array(strtolower($extdic), ["pdf", "jpg", "jpeg"])) {
    header('Location:fileko.php');
    exit;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...