Альтернатива CHMOD 777 - PullRequest
       8

Альтернатива CHMOD 777

1 голос
/ 04 ноября 2010

Я разрабатываю конструктор сайтов типа WYSIWYG в JS для людей, которые не знают HTML / CSS. Это все сделано, но я хочу сделать это как можно более простым. В идеальном мире они просто загружали все файлы на свой хост и с этим покончено. У меня проблема в том, что у меня есть некоторые файлы и папки, в которые нужно записать, но PHP не имеет разрешения, если я не CHMOD для этих конкретных файлов и папок на 777.

Я действительно не хочу этого делать и надеялся, что у меня есть какая-то альтернатива, и при этом я не хочу, чтобы меня критиковали за то, что навязал CHMOD 777 всем. Могу ли я что-нибудь сделать (это было бы просто для моих пользователей), чтобы позволить PHP писать в файлы / папки без необходимости давать разрешение ВСЕМ?

Я не могу заставить PHP самостоятельно создавать файлы / папки, потому что он также не имеет доступа для записи в корневой каталог.

Ответы [ 2 ]

3 голосов
/ 04 ноября 2010

Вы можете chgrp файлы для группы веб-сервера (или PHP, если он настроен на запуск от своего собственного пользователя) и chmod 770 их.Но это не принесет вам большой безопасности.

В качестве альтернативы, вы можете сделать то, что делают некоторые другие PHP CMS (например, Joomla) - когда необходимо изменить файл, подключите сервер к себе через FTP(с учетными данными владельца сайта) и загрузите файл замены.

Правда, однако, любой способ, которым вы разрешите людям изменять файлы на сервере, будет иметь свои подводные камни, и в целом безопасность будетпочти так же плохо, как сделать весь сайт доступным для записи.Независимо от того, как вы это делаете, я советую вам быть уверенным, что ваши механизмы аутентификации и контроля доступа не работают, так как вы берете на себя эти обязанности, особенно когда вы разрешаете веб-пользователям редактировать файлы.

0 голосов
/ 04 ноября 2010

Пусть пользователи CHMOD 777 будут корневым каталогом, ваш сценарий создаст новую папку, а затем восстановит права доступа корневого каталога.

...