Автор Тема: GD и временные файлы.  (Прочитано 2732 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Skif

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 187
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
GD и временные файлы.
« : 22 Марта 2005, 10:00:15 »
Возможно немного все же оффтопик, но меня очень интересует...  :insane:
Собственно вопрос, кто что использует для создания временных файлов для работы GD? Я сейчас практикую создание файлика в /tmp -директории, которая находиться за пределами доступности web-сервера с последующим fork-ом для копирования используя sudo. Для обеспечения уникальности имени рисунка - CGI::Session (имя сессии + имя рисунка (а-ля news, about, etc))потом делаю удаление файла в конце скрипта.
Что мне не нравиться в таком подходе - если я в /tmp удаляю при помощи стандартной функции unlink, то при удалении из папки рисунков в области видимости - приходиться использовать rm из системы. Второе - "утяжеление" кода - получается перегружен форками. Вроде бы и не сложно, но все же. Третье, если я делаю не для своего хостинга движок - очень трудно уломать админа "где-то там" добавить в sudo user пользователя, пусть даже с ограниченными  правами и т.д. А иногда и вообще установить sudo. В таких случаях мне приходиться давать на папку временных рисунков права 777... Хотя сие мне не нравиться.
Может кто-то использует альтернативные решения?
Всё будет хорошо - я договорился!

Оффлайн cr4ck3r

  • Фанат Perl
  • Постоялец
  • ***
  • Сообщений: 146
  • +0/-0
  • 2
    • Просмотр профиля
    • http://perlmonks.org.ru
GD и временные файлы.
« Ответ #1 : 22 Марта 2005, 12:22:07 »
В принципе это брешь в безопасности такая работа с временными файлами. В camel book рекомендуют использовать модуль File::Temp - для безопасного открытия временных файлов
(http://search.cpan.org/~tjenness/File-Temp-0.16/Temp.pm), . Хотя я с GD не работал, но суть от этого я думаю не меняется.
Ворота в perl - perlmonks.org.ru

Оффлайн Skif

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 187
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
GD и временные файлы.
« Ответ #2 : 22 Марта 2005, 13:28:06 »
Вот сейчаc сижу читаю содержимое модуля и не могу врубиться.
Там по любому нужно создавать временную директорию с правами на запись. Так как мне необходимо что бы генерирующиеся рисунки были доступны web-серверу - генерить надо в пределах его "видимости", тобишь пусть корень распологается www/ следовательно www/image/ должна иметь права позволяющие скрипту записывать данные туда (7xx/6xx - без разницы). Так как скрипт выполняется с правами сервера, то это права www или nobody, обратно к верхнему вопросу.
Или я что-то не понимаю?
Всё будет хорошо - я договорился!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28