Есть такое мнение, что даже изображение с php кодом (либо php с форматом jpg) можно перегнать через gd и получится та-же фотография, но уже Безопасная для сайта.
Если у кого-то есть наработки, поделитесь пжл.
_____________
Принимаю заказы, писать в ЛС
killer8080
20.05.2014 - 11:20
Цитата (Медведь @ 20.05.2014 - 10:14) |
можно перегнать через gd и получится та-же фотография |
не получится никакая фотография, GD не работает с битыми файлами.
killer8080, так он не говорит про битые файлы, а про картинки с вставленным PHP кодом.
Хорошие статьи на эту тему
http://habrahabr.ru/post/44610/В частности пункт на эту тему там
Цитата |
Можно подумать, что теперь мы можем пребывать в уверенности, что будут загружаться только файлы GIF или JPEG. К сожалению, это не так. Файл может быть действительно в формате GIF или JPEG, и в то же время PHP-скриптом. Большинство форматов изображения позволяет внести в изображение текстовые метаданные. Возможно создать совершенно корректное изображение, которое содержит некоторый код PHP в этих метаданных. Когда getimagesize() смотрит на файл, он воспримет это как корректный GIF или JPEG. Когда транслятор PHP смотрит на файл, он видит выполнимый код PHP в некотором двоичном «мусоре», который будет игнорирован. Типовой файл, названный crocus.gif содержится в примере (см. начало статьи). Подобное изображение может быть создано в любом графическом редакторе. |
Там же вторая часть статьи
http://habrahabr.ru/post/44615/Медведь, читай статьи по ссылкам выше для общего развития и поиска ответа.
Ок, статьи прочитал. Для себя записал:
1 проверить размер файла
2 изменить имя файла
3 проверить Content-Type заголовок и фактическое содержние
И всё же возвращаюсь к началу вопроса, с использованием GD, я так понимаю php кода в новом изображении не будет?
_____________
Принимаю заказы, писать в ЛС
Цитата |
И всё же возвращаюсь к началу вопроса, с использованием GD, я так понимаю php кода в новом изображении не будет? |
Цитата |
Можно перегнать. Но будет потеря качества, даже при 100% качества. |
Главное чтобы мета дата тоже затиралась. Что в общем-то GD делает с удовольствием по умолчанию и вставляет свою.
Возьми любую фотку с фотоаппарата, там обычно есть EXIF метадата и прогони через GD.
Предварительно можно ещё и комментарий записать в фотку.
$test='test.jpg';
list($width, $height) = getimagesize($filename); // получаем ширину, высоту
$image_p = imagecreatetruecolor($width, $height); //создаём новое полноцветное изображение
$image = imagecreatefromjpeg($filename); // создаём новое изображение из файла
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width, $height); //копирование с сохранением размера изображения, с ресемплированием
header('Content-Type: image/jpeg'); // устанавливаем тип содержимого в заголовок
imagejpeg($image_p, '$test'); // сохраняем
imagedestroy($image_p); // освобождаем память
Мета дата затрётся? Вообще оцените правильность.
_____________
Принимаю заказы, писать в ЛС
А проверить самому?
Или ты будешь всем на слово тут верить?
Цитата (BaNru @ 20.05.2014 - 13:59) |
А проверить самому? Или ты будешь всем на слово тут верить? |
Первый вопрос - сейчас не могу, на работе (вахта)
Второй - если кто соврёт, его попрявят))
Жду ответа, Спасибо.
_____________
Принимаю заказы, писать в ЛС
AllesKlar
20.05.2014 - 14:10
Медведь
По моим постам походи, я пару месяцев назад подробно разжжовывал именно эту тему.
_____________
[продано копирайтерам]
Цитата (AllesKlar @ 20.05.2014 - 14:10) |
Медведь По моим постам походи, я пару месяцев назад подробно разжжовывал именно эту тему. |
Найти не смог, а мой код можете прокомментировать?.
_____________
Принимаю заказы, писать в ЛС
Kopipaster
20.05.2014 - 16:04
Почитал тему и понял что я чего то не знаю.
Как изображение может быть с PHP кодом?
Цитата (Kopipaster @ 20.05.2014 - 16:04) |
Почитал тему и понял что я чего то не знаю. Как изображение может быть с PHP кодом? |
Kopipaster , плохо читал. Ещё раз почитай тему.
Kopipaster
20.05.2014 - 18:27
Какие в изду картинки с PHP кодом? Мета скидываются если просто переназвать картинку. Разве нет?
$file = 'http://sajt.com/kartinka.jpg';
$newfile = "moja_kartinka.jpg";
if (!copy($file, $newfile)) {
echo "не удалось скопировать $file...\n";
}
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.