Назад | Перейти на главную страницу

Сценарий PHP выдает сообщение «Не удалось открыть поток: в доступе отказано», если разрешения не разрешают общедоступную запись.

У меня есть скрипт php в каталоге с именем / manager. В нем я открываю и записываю в файл в каталоге выше / manager. Однако, если разрешения установлены так, чтобы разрешить запись владельцу, я получаю сообщение «Не удалось открыть поток: в разрешении отказано».

Это работает только тогда, когда я изменяю разрешения, чтобы разрешить общедоступную запись, но разве это не позволяет кому-либо писать в мой файл? Может ли это происходить из-за того, что он достигает каталога, или я неправильно понимаю разрешения?

Мой первый вопрос: кому принадлежит каталог? это апач? В противном случае у вас, вероятно, возникнут проблемы с записью в этот каталог. Ваш следующий вариант - разрешить группе управлять вещами - входит ли владелец в группу www? (Простите, если это неправильное имя). Если это так, вы можете настроить права группы, чтобы разрешить Apache и вам писать (при условии, что владелец входит в группу).

Что касается публичной записи - это означает, что все пользователи и службы, которые работают / вошли в систему на этом компьютере, смогут писать в этот каталог. Это не означает, что злоумышленник, действующий вне машины, сможет с ней поиграть ... если только он не сможет войти в систему ...