Есть ли безопасный способ кэширования и изменения размера удаленных изображений с помощью PHP? - PullRequest
0 голосов
/ 14 ноября 2011

Я работаю на RSS-ридере, используя SimplePie.

Я хочу загружать RSS-каналы и отображать статьи с миниатюрами.Я использую RSS-вложения и позже проанализирую RSS для image.

Существует ли безопасный способ загрузки этих удаленных образов на мой сервер, чтобы я мог их кэшировать и изменять их размер?

У меня есть некоторые идеи о том, как это можно сделать, например, с помощью cURL, но меня интересует безопасность.Я знаю, что могу ограничить по расширению файла, и я мог бы, вероятно, посмотреть на тип MIME, но я просто хочу знать, если это вообще возможно / безопасно.Если да, какие шаги следует предпринять, чтобы гарантировать отсутствие уязвимостей.

Ответы [ 2 ]

2 голосов
/ 14 ноября 2011

Изменение размера изображений с gd или imagemagick

или вы можете сделать это таким образом Проверьте следующее Ссылка

0 голосов
/ 14 ноября 2011

Возможные проблемы безопасности:

  • Выполнение удаленного скрипта.Каким-то образом вы загружаете скрипт php вместо изображения, и сервер выполняет его при последующем обращении к этому образу.

Решение: на любом веб-сервере вы можете настроить каталог загрузки так, чтобы там не мог выполняться ни один скрипт,И не забудьте добавить правильное расширение к изображениям (лучше выбирать из списка, не доверяйте mime-типам).

  • XSS на клиенте, читающем RSS.Вы скачиваете изображение.Но это может быть JavaScript.

Решение: убедитесь, что вы вставили ссылку на это изображение в теге <img src"...">.Скрипт не будет выполняться из тега img.Более того, изменение размера изображения через GD или Imagic наверняка испортит любой js внутри, если он был.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...