29.01.2020, 00:33
|
Новичок на форуме
|
|
Регистрация: 29.01.2020
Сообщений: 3
|
|
Проверка загружаемых файлов
Здравствуйте.
1) С помощью php загружаю через multiple сразу несколько файлов.
У меня есть массив допустимых расширений. Как сделать, чтобы парсился текст после точки каждого файла и, сравнивался с каждым расширением в массиве. Например: 1.jpg, 2.png. 1 файл берем jpg и ищем совпадение с массивом, нашли ок. Берем png не нашли совпадение с массивом, форма не отправляется. То есть, если хоть 1 из 5 загружаемых файлов не соответствует формату который можно использовать, то форма не отправляется, а иначе всё ОК. ( прошу написать код, не знаю как самому написать ).
2) Что делать, если пользователь откл js в браузере?
Спасибо.
|
|
29.01.2020, 00:52
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Сообщение от KOKS1999
|
То есть, если хоть 1 из 5 загружаемых файлов не соответствует формату который можно использовать, то форма не отправляется
|
Вы можете указать в самой форме какие можно типы... (Тогда не будет файлов, которые нельзя использовать, их не будет в диалоге выбора файлов)
<form method="post">
<input type="file" name="images" multiple accept="image/png,image/gif,image/jpeg" required>
<input type="submit">
</form>
Сообщение от KOKS1999
|
Что делать, если пользователь откл js в браузере?
|
Ничего! Вопрос в том, зачем такое пользователям нужно! Форма выше так и так будет работать!
Последний раз редактировалось Malleys, 29.01.2020 в 00:57.
|
|
29.01.2020, 01:09
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Malleys
|
Тогда не будет файлов, которые нельзя использовать
|
К сожалению может быть если пользователь любит Safari и использует его в Widows. Тогда все что угодно.
KOKS1999, никогда не проверяйте тип файла по расширению после точки, например разрешенные image/jpeg, это и .jpg, и .jfif, и .pjpeg, и .pjp.
|
|
29.01.2020, 01:16
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Сообщение от laimas
|
К сожалению может быть если пользователь любит Safari и использует его в Widows. Тогда все что угодно.
|
И какая там версия Safari? 13? Вы бы ещё вспомнили свой любимый IE6! Конечно же accept в старинных браузерах не работает, потому что тут идёт речь о вещах, приближённых к действительности. И тем более так и так следует проверять присланные на сервер файлы! (Проверить тип, при загрузке следить за размером (чтобы не загружали, например, 150 МБ файлы и пр.), чтобы сразу закрыть соединение не дожидаясь всей загрузки файла)
Последний раз редактировалось Malleys, 29.01.2020 в 01:18.
|
|
29.01.2020, 01:42
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Malleys
|
И какая там версия Safari? 13? Вы бы ещё вспомнили свой любимый IE6!
|
Во-первых нет у меня любимого, во-вторых маки давно забросили обновление своего детища под Win, а в третьих старья хватает и не по моей воле.
|
|
29.01.2020, 16:52
|
Новичок на форуме
|
|
Регистрация: 29.01.2020
Сообщений: 3
|
|
Просто проверка через инпут не подходит, ибо человек может загрузить скрипт. Или просто взять и загрузить любой файл. Мне ради безопасности надо
|
|
29.01.2020, 17:00
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от KOKS1999
|
Или просто взять и загрузить любой файл. Мне ради безопасности надо
|
Это уже забота сервера, а не клиента, следить чтобы мусора не грузили.
|
|
29.01.2020, 21:38
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Сообщение от laimas
|
Это уже забота сервера, а не клиента, следить чтобы мусора не грузили.
|
А разве я не про это написал в сообщении №4? А вы пересказываете своими словами...
Сообщение от laimas
|
Во-первых нет у меня любимого
|
Он самый!
Сообщение от laimas
|
во-вторых маки давно забросили обновление своего детища под Win
|
Также как и форточки под MacOS
Сообщение от KOKS1999
|
Просто проверка через инпут не подходит, ибо человек может загрузить скрипт. Или просто взять и загрузить любой файл. Мне ради безопасности надо
|
То, что я вам показал в сообщении №2 — то потрясающе справляется с своей задачей: пользователи видят те файлы, которые можно загружать. (А потом идёт обработка на сервере, как было написано в сообщении №4)
|
|
29.01.2020, 21:46
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Malleys, опять язык зачесался? А потом обиды, что ...
|
|
|
|