Альтернатива использованию переменных сеанса для аутентификации - PullRequest
1 голос
/ 27 июня 2011

Я все еще новичок в PHP, но многие вещи, которые я прочитал, предлагают использовать переменные сеанса, чтобы проверить, вошел ли пользователь в систему. IE Я бы добавил файл include.php, который проверял бы, если $_SESSION['login'] == true но, видя, что переменные Session - это просто куки, кто-то может легко установить это правильно? Как еще можно проверить, проверил ли пользователь аутентификацию?

Ответы [ 4 ]

2 голосов
/ 27 июня 2011

Сессии сильно отличаются от файлов cookie.Все данные хранятся на сервере в файле сеанса, сам cookie хранит только идентификатор браузера, который сопоставляется с правильным файлом сеанса на сервере.Так или иначе, вам понадобятся файлы cookie, поэтому я уверен, что можно с уверенностью сказать, что вы будете в безопасности, используя сеансы для проверки подлинности пользователей.

1 голос
/ 27 июня 2011

но видя как сессионные переменные просто куки, кто-то может легко установить что сами правильно?

Неправильно! Файл cookie сеанса будет содержать только токен сеанса , сам сеанс и его значения будут находиться на сервере. Значение токена, которое будет иметь cookie, будет использоваться для определения местоположения сеанса.

Что еще можно сделать? проверил, был ли пользователь проверку подлинности?

Хранить аутентификацию в базе данных.

1 голос
/ 27 июня 2011

Переменные сессии не просто куки.Браузер клиента получает cookie, который присоединяет его к сеансу на сервере, но только сервер может устанавливать и считывать переменные из $_SESSION.

В то время как клиент может передавать любую информацию, которую он хочет, на сервер с помощьюcookie, идентификатор сеанса трудно (хотя и не невозможно) угадать, что затрудняет захват сеанса другого пользователя.

Обычный способ защиты от перехвата сеанса - хранить в $_SESSION отпечаток пальцаIP-адрес пользователя, строка агента пользователя или некоторая другая идентифицируемая строка.Это также может быть случайная строка токена, которую вы генерируете и отправляете клиенту при сохранении в $_SESSION.В следующей публикации формы вы ожидаете, что токен будет отправлен в скрытом виде и сопоставлен с тем, который вы сохранили на сервере.

0 голосов
/ 27 июня 2011

Если вы авторизуетесь по HTTPS, куки будут защищены. Кроме того, когда вы устанавливаете сеанс, вы обрабатываете клиентский файл cookie со случайным UUID сеанса, который преобразуется в хранилище значений ключей на вашем сервере, клиент не может просто установить «login = true» и получить доступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...