PHP Image Upload Security-gd / imagick / переместить файл загрузки
Мое настоящее кодирование для загрузки изображений Если мое кодирование можно взломать, Дайте мне знать, как вы это сделаете. Я попробую сделать это сам на своем сервере.
if ((strtolower($_FILES["user_image"]["type"]) == "image/jpeg" || strtolower($_FILES["user_image"]["type"]) == "image/pjpeg" || strtolower($_FILES["user_image"]["type"]) == "image/gif" || strtolower($_FILES["user_image"]["type"]) == "image/x-png" || strtolower($_FILES["user_image"]["type"]) == "image/png") && ($_FILES["user_image"]["size"] < 4194304)) {
if(strtolower($_FILES["user_image"]["type"]) == "image/jpeg" || strtolower($_FILES["user_image"]["type"]) == "image/pjpeg"){
$image_source = imagecreatefromjpeg($_FILES["user_image"]["tmp_name"]);
}
// if uploaded image was GIF
if(strtolower($_FILES["user_image"]["type"]) == "image/gif"){
$image_source = imagecreatefromgif($_FILES["user_image"]["tmp_name"]);
}
// if uploaded image was PNG
if(strtolower($_FILES["user_image"]["type"]) == "image/x-png" || strtolower($_FILES["user_image"]["type"]) == "image/png"){
$image_source = imagecreatefrompng($_FILES["user_image"]["tmp_name"]);
}
Это метод загрузки, который я использую.
Мы можем использовать move_uploaded_file и imagick для загрузки файлов.
Вопрос:
* * Как вы взломаете мой код загрузки изображений?
( Я пробовал с поддельным заголовком jpeg и php-gd очищает файл. )
** Почему вы говорите move_uploaded_file защищен, чем imagecreatefrom [type] (если вы говорите, что мой метод не защищен)
location /uploads/ {
location ~ .*.(php)?$
{
deny all;
}
}
** я никогда не пробовал imagick загружать файлы на сервер. Я использую его для обработки изображений.
Или мне нужно объединить их, чтобы загрузить файл безопасным способом?