2010-02-26 4 views
6

Как я могу обрабатывать загрузку изображений с помощью PHP?Chmod, php и imageupload

Как мне обрабатывать настройки chmod?

Пример;

У меня есть dir call/image/где я хочу загрузить все мои изображения.

Должен ли я установить этот каталог в chmod 777 и оставить его таким? Или мне нужно менять chmod в этой папке через PHP каждый раз, когда мне нужно загрузить изображение. Это правильно, или я должен делать что-то еще?

ответ

4

Как thephpdeveloper упоминалось, настройка CHMOD достаточно один раз. Все последующие записи в этот каталог не изменят разрешения каталога, если вы явно не введёте их в другие разрешения в другом месте.

Рекомендуемые разрешения для каталогов на сервере * nix - 755. Запрет на установку 777 не рекомендуется. Как упоминалось wic, он дает полные разрешения всем, у кого есть доступ к вашему серверу. Это делает его уязвимым, если вы находитесь на совместном хостинге или совместно используете сервер с другими пользователями.

Также следует отметить, как PHP запускается на вашем сервере. На самом деле, если вы используете PHP как cgi, например suphp, разрешения 777 для каталогов не разрешены. Имея 777 разрешений на каталоги, в которых находятся ваши сценарии, не будет запускаться и вместо этого будет вызывать «внутреннюю ошибку сервера 500» при попытке выполнить их.

1

Только пользователь, выполняющий веб-сервер dameon, нуждается в разрешениях для каталога для записи. И вы, разумеется, не хотите, чтобы права на выполнение выполнялись при загрузке каталога.

+0

Я предположил, что вы используете php для веб-сайта, если его сценарий не обращает на это внимания. – rerun

1

Обычно настройки папок устанавливаются один раз и все. Бессмысленно продолжать устанавливать разрешения на доступ к папке 777 через PHP, если вы уже установили его на 777.

+0

, так что нет никакого вреда в том, что chmod установлен на 777 для каталога? (это касается всех ответов ниже) – jamietelin

+0

Я также загружаю изображения через ftp иногда, не будет ли «владелец» отличаться от того, когда я загружу через php? – jamietelin

+0

Владелец будет регистрироваться на FTP-сессии. – rerun

1

Нет, вам не нужно каждый раз менять разрешения в каталоге. Как только они установлены, они установлены так, чтобы говорить.

Использование 777 является излишним, поскольку оно дает полные разрешения всем. Удалите бит «x» и пусть apache (или кто-либо) владеет каталогом. Это делает невозможным просмотр файлов.