Переменные сеанса можно дурачить (входят в систему)?

В PHP: существует ли способ для пользователя фальсифицировать переменную сеанса?

Это безопасно для доверия значению переменной сеанса для системы входа в систему?

6
задан Jon Seigel 16 April 2010 в 18:03
поделиться

3 ответа

Данные сессии хранятся на сервере. Между клиентом и сервером передается только идентификатор сессии. Если только скрипт на стороне сервера не ошибся (или нет ошибки), клиент не может изменить данные сессии напрямую. Но вы должны убедиться, что только "правильный" клиент знает идентификатор сессии, поскольку он привязывает этого конкретного клиента к конкретной сессии. Например, (поскольку вы упомянули вход в систему) используйте session_regenerate_id() всякий раз, когда происходит вход (попытка), чтобы предотвратить фиксацию сессии

16
ответ дан 8 December 2019 в 03:52
поделиться

Да. Это называется подделка/угон сессии.

Вы изменяете значение куки сессии до тех пор, пока не получите другую сессию пользователя.

4
ответ дан 8 December 2019 в 03:52
поделиться

Сессии хранятся на вашем сервере либо в файле, либо в памяти. У пользователя есть только cookie, который определяет путь (обычно хэш какой-то формы) к данным сессии на вашем сервере. Теоретически вы можете изменить cookie на чей-то хэш, но это очень и очень маловероятно, если только вы не храните их в виде файлов и не удаляете их после истечения срока действия, в этом случае вероятность того, что кто-то воспользуется старой сессией, возрастет.

7
ответ дан 8 December 2019 в 03:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: