Стоит ли устанавливать права доступа 777 для файла настройки и конфигурации?

Стоит ли устанавливать права доступа 777 для файла настройки и конфигурации?

Я впервые пишу большое PHP-приложение (с настройкой) и задаюсь вопросом о мерах безопасности, которые следует предпринять в отношении разрешений.

setup.php использует fopen/fwrite для генерации config.php на основе данных POST, которые поступают из setup.php. Это работает, но, похоже, я не могу писать в config.php, пока не установлю для него разрешения на 777.

Config.php по сути будет содержать учетные данные базы данных в переменных PHP (которые будут включены с помощью include()). Стоит ли оставлять это как есть 777?

Мне интересно, нормально ли это или мне следует попросить пользователя изменить разрешения обратно на что-то вроде 655 (я не уверен).

решение1

Вам следует установить разрешения для файлов на те, которые необходимы для выполнения работы. Это может быть 777 для установки и 644 для запуска приложения.

Каждый раз при запуске приложения необходимо проверять, соответствуют ли разрешения (для критически важных файлов и путей) желаемым, а затем выдавать сообщение об ошибке и останавливать работу приложения, если они не соответствуют требованиям.

решение2

Многие приложения PHP требуют, чтобы вы установили config.php на 777 во время установки продукта. Я думаю, это вполне приемлемо, но пользователь должен быть предупрежден, что файл должен быть установлен обратно на 644 после завершения установки.

Другое решение — заставить пользователя жестко закодировать config.php с настройками базы данных. Однако это усложняет ситуацию для некоторых новых пользователей.

Связанный контент