Я впервые пишу большое PHP-приложение (с настройкой), и мне интересно, какие меры безопасности я должен предпринять для разрешений.
setup.php использует fopen / fwrite для создания config.php на основе данных POST, поступающих из setup.php. Это работает, но кажется, что я не могу писать в config.php, если не установил для него разрешения 777
.
Config.php по сути будет содержать учетные данные базы данных в переменных PHP (для включения ()), это хорошо, чтобы оставить как 777
?
Мне интересно, нормально ли это, или я должен проинструктировать пользователя изменить разрешения на что-то вроде 655 (я не уверен).
Многие приложения PHP требуют, чтобы вы установили config.php на 777 во время установки продукта. Я думаю, что это вполне приемлемо, но пользователя следует предупредить, что после завершения установки значение файла должно быть восстановлено до 644.
Другое решение - заставить пользователя жестко запрограммировать config.php с настройками базы данных. Однако это усложняет ситуацию для некоторых новых пользователей.
У вас должны быть установлены права доступа к файлам, которые необходимы для выполнения текущей работы. Это может быть 777 для установки и 644 для запуска приложения.
Каждый раз, когда ваше приложение запускается, вы должны проверять, что разрешения (для критических файлов и путей) соответствуют вашим требованиям, а затем выдавать сообщение об ошибке и останавливать выполнение приложения, если это не так.