Как безопасно установить переменные сеанса для входа в систему? - PullRequest
1 голос
/ 18 декабря 2010

У меня есть несколько вопросов, если кто-нибудь может мне помочь. Прежде всего, я нахожусь в процессе создания системы входа в систему для пользователей моего приложения. Я пользуюсь виртуальным хостингом (dreamhost), и мне интересно, как после того, как пользователь войдет в систему и она будет успешной, как я могу проверить, вошел ли пользователь на страницы? Я предполагаю, что я использую переменные сеанса, но имя пользователя должно быть сохранено для определенных целей. Безопасно ли хранить имя пользователя в переменной сеанса и безопасно ли в основном просто сохранять, если пользователь вошел в систему, переменную сеанса: ex: $ _SESSION ['logged'] = 1; или что угодно. Кроме того, я читал, что любой может получить доступ к моим данным сеанса, так как я нахожусь на виртуальном хостинге, и так ли это следует изменить? Или я должен просто использовать что-то кроме переменных сессии все вместе?

1 Ответ

3 голосов
/ 18 декабря 2010

В конфигурации хранилища сеансов по умолчанию, вероятно, будет использоваться расположение, общее для всех пользователей вашего общего хостинга.Чтобы убедиться в этом, взгляните на вывод phpinfo , в частности session.save_path и session.save_handler.Эти настройки описаны в документации конфигурации сеанса PHP .

Ваш общий хостинг может запускать ваши процессы PHP как ваш пользователь, а не системный пользователь.В этом случае вы можете изменить session.save_path на каталог в вашем домашнем каталоге, который принадлежит вам и имеет разрешения, запрещающие другим пользователям читать этот каталог (например, 700).

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

...