Изменить группу разрешений посетителя при входе в систему

Мой сервер не позволяет пользователям писать файлы в php, насколько я понимаю, это связано с разрешениями пользователя. Но решение этого вызывает серьезный недостаток безопасности. Дополнительную информацию об этих решениях можно найти здесь php не будет создавать файл и здесь Как предоставить PHP доступ для записи в каталог?

Итак, мой вопрос: вместо того, чтобы изменять разрешения серверов, можно ли изменить разрешение или группу разрешений пользователя только после того, как он войдет в приложение? В терминах php после запуска функции login().

Я хочу этого, потому что я разрабатываю приложение, которое является расширением панели администратора askozia (колл-центра). Где каждый пользователь может изменять и видеть свои данные, не имея возможности изменять и видеть настройки администратора и данные других пользователей. Однако все эти данные сохраняются не в базе данных, а в XML-файле, поэтому пользователи должны иметь возможность писать в этот XML-файл.


person kpp    schedule 28.05.2014    source источник


Ответы (2)


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

Для Windows: http://technet.microsoft.com/en-us/library/bb727008.aspx

Для Linux http://www.computerhope.com/unix/uchmod.htm

Не забывайте: учетная запись пользователя для вашего веб-сервера не является пользователем перед веб-сайтом. Вы должны позаботиться о разрешении «зрители веб-сайта». Но ваша учетная запись веб-сервера должна иметь все необходимые ему права. Если бы вы изменили пользователя, это было бы то же самое.

person Christian Gollhardt    schedule 02.06.2014

Разрешения, предоставляемые файловой системе, принадлежат пользователю, запустившему экземпляр PHP. Вы не можете изменить разрешение во время выполнения, но вы можете запустить другое приложение под другим пользователем, используя sudo в *nix (и runas в Windows) для создания, изменения и чтения файлов.

Вы можете проверить «веб-пользователя», когда он пытается изменить файл, чтобы предотвратить злонамеренные модификации, когда вы хотите использовать стандартные операции с файлами PHP (но для этого все еще требуется, чтобы экземпляр PHP имел права на запись в файл).

person Diamondo25    schedule 02.06.2014