Задать вопрос
@victorib_us

Какие поставить права на папку ?

Есть функция fopen(); которая создает файл в определенной директории, для этого необходимо чтобы на директорию стояли определенные права. Но есть ряд проблем во первых ставить права 777 не безопасно. Ставить 755 подойдет только если php выполняется под правами владельца а это не всегда так. Ставить 775 тоже не совсем безопасный вариант на мой взгляд. Изменять права средствами php например ставить папке права 775 а потом после создания файла менять на 755 тоже сработает только если php под владельцем выполняется. Какой будет оптимальный вариант чтобы не было важно под кем выполняется php при этом он мог создать файл в директории и не боятся что эта директория станет слабым местом в безопасности ?
  • Вопрос задан
  • 2432 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Serhioromano
@Serhioromano
Web Developer
Если вы о безопастности, то нет ни какой разницы. fopen() будет работать из под пользователя PHP. Это значит что если даже 644 то любой РНР скрипт сможет получить доступ к файлу. То есть любой backdoor сможет с ним работать если у хакера получится закачать файл на сервер.

Я думаю что можно ставить 777-755. Разници нет. Главная защита тут, не разрешить запуск несанкционированых файлов. К сожалению вы не указали с какими расширениями файлов вы будете работать. Но суть одна. Нужно добавтиь .htaccess который запретит доступ ко всем файлам кроме тех которые вы создаете.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
KpuTuK
@KpuTuK
I love PHP
Какой будет оптимальный вариант чтобы не было важно под кем выполняется php при этом он мог создать файл в директории и не боятся что эта директория станет слабым местом в безопасности ?

Если это архив, картинка и т.п. то 777 а средствами php просто проверять раширение файла
Ответ написан
Dremkin
@Dremkin
В крайнем случае можно дать все права на папку, но с помощью htaccess запретить выполнение в ней скриптов.
Ответ написан
Комментировать
777 если требуется чтобы не было важно под кем выполняется php. Какие тут еще могут быть варианты?
Ну разве что демона запустить и писать через него, а он должен знать кто и что может писать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы