|
26.11.2017, 12:41
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Безопасное копирование
Здравствуйте! С помощью функции copy копирую картинки в папку. Будет ли достаточной защитой от возможных подмен или других возможных внедрений записей кодов в картинку, если я явно запрещу выполнение в папке с картинками скриптов, с переименованием файлов при копировании и установлении определенного расширения, например, gif для всех копированных файлов?
|
|
26.11.2017, 13:19
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
А почему вопрос в разделе JS?
Смотря как вы принимаете изображения, по крайней мере функцию copy применять не рекомендуется при сохранении файлов принятых по HTTP.
А вот запрещать выполнение скриптов в этой папке да, это правильно, да и от внедренного мусора можно тоже избавиться посредством GD.
|
|
26.11.2017, 13:34
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Сообщение от laimas
|
А почему вопрос в разделе JS?
|
Извиняюсь, писала в разделе своей последней темы, не посмотрела.
|
|
26.11.2017, 13:42
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Сообщение от laimas
|
от внедренного мусора можно тоже избавиться посредством GD.
|
А можно поподробнее, как именно. Библиотека подключена.
|
|
26.11.2017, 13:49
|
Кандидат Javascript-наук
|
|
Регистрация: 04.11.2017
Сообщений: 117
|
|
Например, функция getimagesize() возвращает массив данных о изображении, а если ошибка, то не изображение..
---
Но есть такой вариант
http://php.net/manual/ru/function.finfo-file.php
---
Можно так же самому по сигнатуре файла определять, что за файл
Последний раз редактировалось Lion777, 26.11.2017 в 13:53.
|
|
26.11.2017, 13:56
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Lion777,
Да, о функции читала, но там тоже есть какие-то ухищрения.
laimas,
А как загружать файл из ссылки, без использования copy, через file_get_contents?
|
|
26.11.2017, 14:13
|
Кандидат Javascript-наук
|
|
Регистрация: 04.11.2017
Сообщений: 117
|
|
file_get_contents('http://ссылка');
для проверки используйте расширение fileinfo, должно быть включенно
---
http://php.net/manual/ru/ref.fileinfo.php
---
echo mime_content_type('image.jpg');
Последний раз редактировалось Lion777, 26.11.2017 в 14:19.
|
|
26.11.2017, 14:18
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Lion777
|
Например, функция getimagesize()
|
Это не то, да обмануть ее, да и взлом через нее возможен.
|
|
26.11.2017, 14:19
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Sonya
|
А как загружать файл из ссылки, без использования copy, через file_get_contents?
|
А что за файлы и откуда вы загружаете?
|
|
26.11.2017, 14:25
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Сообщение от laimas
|
А что за файлы и откуда вы загружаете?
|
Файл картинок, ссылку на картинку указывает пользователь. У меня реализовано так: через copy сохраняется файл с рандомным именем и расширением gif. Файл принимается только через ссылку (без загрузок с компьютера).
|
|
|
|