Я пытаюсь заменить содержимое файла в папке, отличной от папки с моим файлом php, и получаю сообщение об ошибке: «Не удалось открыть поток, отказано в доступе»
Я использую функцию put_file_contents для изменения содержимого файла. Я искал в Интернете решение этой проблемы и обнаружил, что каталог файлов может быть записан только владельцем / пользователем. Я проверил свойства каталога в filezilla (ftp) и обнаружил, что каталог не доступен для записи ни для группы, ни для общего доступа.
В filezilla я пытался разрешить общедоступную запись каталога, и php-файл смог записать в файл папки.
Поэтому, я думаю, я могу легко установить разрешения только для файла, а не для каталога, и легко заменить его содержимое, установив разрешение на общедоступную запись. Хотя я не понимаю, что означает владелец / группа / общедоступные варианты? Потому что предполагается, что это веб-сервер веб-сайта, размещенный на платном хосте домена, и я не уверен, безопасен ли вариант общедоступной записи или почему существуют группы пользователей для веб-сервера, размещающего только один веб-сайт?
Поскольку только php-файл может изменять содержимое веб-сервера, почему для веб-сервера предоставляется общедоступная опция? Если это для загрузки, то это также означает, что страница загрузки находится на сервере! Я не могу получить доступ к терминалу по ftp или cpanel, поэтому не могу выполнить chmod и т.д …
Кто-нибудь может предоставить более подробную информацию о рисках безопасности для файлов с открытыми разрешениями на запись?
Сервер по-прежнему компьютер, как и любой из них. Это означает, что вы можете создать несколько пользователей, и многое может произойти.
Ваш сервер не обязательно должен оставаться только веб-сервером. Очевидно, что это также FTP-сервер, и вы, вероятно, также можете получить к нему доступ через ssh. В будущем вы можете использовать его для других целей.
В любом случае, даже если вы используете его только в качестве веб-сервера, установка разрешения для папки как доступной для записи для каждого пользователя опасна из-за угроз безопасности, которые ваш код неизбежно будет иметь. Он может служить защитой: даже если вы напишите что-нибудь опасное в будущем, он содержит ущерб.
По этой причине в некоторых системах программное обеспечение, отвечающее за обработку http-запросов (обычно Apache), запускается как httpd конкретного пользователя.
Пользовательские группы — это то, о чем они говорят: определенные группы пользователей. Вы можете прочитать об этом легко в Интернете.
Других решений пока нет …