Подтвердить что ты не робот

Являются ли проблемы с фиксацией сеанса в MVC 5 по-прежнему проблемой

Я много читал о атаках фиксации сеанса, и самые популярные решения, с которыми я столкнулся, меняют SessionID при входе пользователя в систему и создании дополнительного файла cookie с использованием GUID, чтобы проверить, что пользователь "принадлежит" SessionID.

Мой вопрос заключается в следующем: недостаточно ли просто удалить cookie SessionID (ASP.NET_SessionID), чтобы обеспечить создание нового SessionID? В MVC 5, когда пользователь регистрируется в дополнительном зашифрованном пользователе, создается куки файлы cookie (AspNet.ApplicationCookie), которые Identity использует для аутентификации пользователя по каждому запросу. Дополнительный "GUID cookie" кажется ненужным.

Im изначально разработчик приложений на платформе .NET, пишущий мое первое приложение MVC, и кривая обучения была немного крутой... хотя и освежающе приятным.

Спасибо за любую помощь.

4b9b3361

Ответ 1

Вы можете сделать это, чтобы избежать этой ситуации:

SessionIDManager Manager = new SessionIDManager();

string NewID = Manager.CreateSessionID(Context);
string OldID = Context.Session.SessionID;
bool redirected = false;
bool IsAdded = false;
Manager.SaveSessionID(Context, NewID, out redirected, out IsAdded);
Response.Write("Old SessionId Is : " + OldID);

if (IsAdded)
{
     Response.Write("<br/> New Session ID Is : " + NewID);
}
else
{
     Response.Write("<br/> Session Id did not saved : ");
}

Ссылка для поддержки: Ссылка