Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Логин пароль cookie шифрование (https://javascript.ru/forum/offtopic/9652-login-parol-cookie-shifrovanie.html)

mycoding 29.05.2010 22:12

Логин пароль cookie шифрование
 
Подскажите пожалуйста, в какой форме должны хранится логин и пароль пользователя в cookie. Их же надо шифровать?

Gvozd 29.05.2010 22:23

они не должны хранится в кукисах ни при каких условиях
но, к примеру вконтакт ранее хранил мыло в открытом виде, и пароль в md5 в кукисах.
сейчас так не делают уже

в кукисах следует хранить SESSID как средство сохранения сессии

mycoding 29.05.2010 22:32

Ясно, спасибо Gvozd.
Просто сессиями никогда не пользовался.

А вот когда логинятся надо данные как-нибудь шифровать для отправки на сервер?

Gvozd 29.05.2010 22:38

Цитата:

Сообщение от mycoding
А вот когда логинятся надо данные как-нибудь шифровать для отправки на сервер?

в общем случае - не надо.
для частных случаев есть HTTPS

B~Vladi 30.05.2010 00:51

Цитата:

Сообщение от Gvozd
в кукисах следует хранить SESSID как средство сохранения сессии

Если уж на то пошло, то нужно хранить рандомное число, которое привязывается к сессии...

upd: SESSID вроде сама кладется в куки?

Gvozd 30.05.2010 00:54

Цитата:

Сообщение от B~Vladi
Если уж на то пошло, то нужно хранить рандомное число, которое привязывается к сессии, а то так можно стырить сессию

поясни свою мысль
как случайное число связанное с сессией поможет препятсвовать краже сессии?
собственно говоря не вижу различия между SESSID и случайным числом.
оба суть случайные величины, вообще-то

B~Vladi 30.05.2010 01:06

Цитата:

Сообщение от Gvozd
поясни свою мысль

Я думаю, что надежнее хранить рандомное число, которое обновляется при каждом запросе страницы. Стырить SESSID можно всегда. Пока тырится сессия, пользователь скорее всего успеет обновить страницу и с левого компа уже не зайти. В общем, это повысит безопасность, хоть и не на 100%.

Gvozd 30.05.2010 01:34

хм
теперь понятнее.

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

блиц-попытка решить эту проблему у меня вызвала возвращение к небезопасности при перехвате одного запроса
то есть если разрешить посылать одновременно два запроса с одним случайным числом, то послав такой же запрос сразу после перехвата, злоумышленник получит случайное число для продолжение сессии, и сможет пользоватся ею до тех пор пока поддерживает

у вас есть решение обхода проблемы одновременных запросов, и чтобы было безопасно

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

B~Vladi 30.05.2010 03:44

Цитата:

Сообщение от Gvozd
но при этом есть проблема при посылке двух одновременных запросов с одинаковым случайным числом,

Это очень редкий случай.
Цитата:

Сообщение от Gvozd
у вас есть решение обхода проблемы одновременных запросов, и чтобы было безопасно

Эту проблему можно решить так:
1. При смене рандомного числа, запоминаем прошлое, а так же время запроса.
2. Если приходит запрос с прошлым числом и время больше, например, минуты, прошедшее со времени последнего обновления - сбрасывать доступ. Если меньше минуты - разрешать доступ и так же обновлять число, но не переписывать старое. Т.е. у нас остальные вызовы будут обработаны.
3. Если пришло новое число - пункт 1.

Думаю, что минуты вполне достаточно для попытки достучаться до сервера. Если же пользователь больше минуты не обновлял страницу и сессия жива - будет использоваться последнее число, полученное при прошлом обращении. Хочу подчеркнуть, что это очень редкий случай.

Думается мне, что безопасность тут не пострадает.

Цитата:

Сообщение от Gvozd
у меня устойчивое чувство, что мы тут занимаемся изобретательством велосипеда

Возможно, но почему бы и не развить эту тему?:)

Kolyaj 30.05.2010 10:01

Цитата:

Сообщение от B~Vladi
Это очень редкий случай.

Не так уж редко смотрят сайт в нескольких окнах сразу.


Часовой пояс GMT +3, время: 00:53.