Symfony 1.4 воссоздает сессию / sessionid при смене аутентификации - PullRequest
0 голосов
/ 04 января 2011

Я использую symfony 1.4, и кажется, что каждый раз, когда пользователь проходит аутентификацию, symfony воссоздает сеанс для пользователя.Например, если я захожу на сайт и не вошел в систему, у меня другой идентификатор сеанса, тогда, если я вхожу в систему, у меня есть новый, тогда, когда я выхожу из системы, у меня есть еще один новый.Это было не так в Symfony 1.0, и мне интересно, если это так, как это должно быть?

Ответы [ 2 ]

1 голос
/ 04 января 2011

Я только что проверил исходный код 1.0, его там не было.
Версии 1.1 и выше регенерируют идентификатор сеанса каждый раз, когда изменяется аутентификация или добавляются / удаляются учетные данные.
Это очень хорошая мера безопасности, предотвращающая атаки с фиксацией сеанса.

Вот ссылка на соответствующий набор изменений в trac.

0 голосов
/ 04 января 2011

Это правильное поведение.Это скорее связано с сессиями PHP, чем с тем, как symfony обрабатывает их.Я не думаю, что раньше в symfony 1.0 все было по-другому.

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

...