Настоящий Флеймер
Зарегистрирован: 16 August 2006
Сообщения: 1510
Примеры кода: 0
|
Для чего MS сделала постоянный SessionID на клиенте в течении всей сессии |
11 December 2007 19:34 |
|
|
|
|
Вот сколько не размышляю над этим - не нахожу Атвета. Все-все-все базируется на том, что чем меньше мы полагаемся на инфу, откладываемую клиенту - тем оно надежнее для безопасности.
Посмотреть любой микрасофтафский букварь по безопасности - дык там только и пишут про перехват сессии.
Самое простое решение - которое лезет в моск изо всех дыр в галаве - это ложить на клиент просто куку RANDOM1, например. А само по себе сопоставление сеанса производить уже на сервере. Ну хоть бы в любом модуле типа BeginRequest ASP2-конвеера.
Все. Не надо сотен книжек т тысяч статей про безопасность. Просто один очевидный и простейший шажочек - в десять строчек кода.
Про скорость тоже не нада. Посмотрите на ViewState. Какая может быть потеря скорости на симметричном шифровании 16 байт этой уникальной для кждого юзера и каждого реквеста куки?
Ключ этого Random1 можно обновлять например при каждом рестарте домена приложения. Его даже никуда сохранять не надо - для приложения это ведь все прозрачно. А если надо сохранять - дык ключи генерации Random1 можно сделать например доступными в обьекте Application, например.
Ну собственно я так сейчас и работаю. Ложу уникальный криптованный Random1 в КАЖДЫЙ отдельный реквест и каждому юзеру. Но это все получается [q]ПОВЕРХ[/q] дураковатого микрасовфтовского движка ASP2. И никак асилить не могу - как микрасофтавским дурням могло прийти в голову ИНОЕ решение - кроме этого - самого поверхностного и самого очевидного.
К сообщению приложен файл (см. оригинал).
Последний раз редактировалось 11 December 2007 19:33
|
|