adsl club

Справочник

Форум

Программы

Фильмы

Ресурсы

Файлообмен

Хостинг

Ростелеком
Чем хороши и чем плохи сессии?
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)ПРОГРАММИРОВАНИЕ
Автор Сообщение
AlexRock
Гуру
СообщениеДобавлено: Ср 9-02-11 : 08-11    Заголовок сообщения: Чем хороши и чем плохи сессии? Ответить с цитатой

У меня есть клиент и служба на сервере. Почему-то я встречал пока только такие варианты реализации этих вещей, где используются сессии. Прямо с места начинают говорить о них, как дело заходит до авторизации пользователя, как будто это само собой разумеещееся и альтернатив нет. Зачем они нужны? Я вижу единственный вариант надобности только в том, чтобы при каждом обращении клиента к службе не передавать логин и пароль для аутентификации. Но ведь заметной нагрузки это не представляет, а канал у меня шифруется, поэтому потребность в сессии я не вижу. А минус её в том, что её надо ещё как-то оргиназовать на сервере, а мне лень - проще передавать логин и пароль каждый раз.

Вот, например, работая в личном кабинете Дома.ру надо при каждом действии вводить пароль и логин. И кто-то говорил, что несмотря на больший объём работы для пользователя, это якобы повышает безопасность. Это что, передовые разработки в области безопасности у Дома, или наоборот, они пользуются неудобным вариантом из-за лени организовать сессии, а безопасность от этого не зависит?

Подкиньте, пожалуйста, статей на тему "Сессии - за и против", а то поисковики в основном про PHP выдают, как будто сессии только с ним и ассоциируются. Меня PHP вообще не интересует, а нужна информация по сессиям вобщем - чем хороши, чем плохи и какие им есть альтернативы.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
djlab
Гуру
Предупреждений : 1
СообщениеДобавлено: Ср 9-02-11 : 10-39    Заголовок сообщения: Ответить с цитатой

AlexRock писал(а):
или наоборот

у них допилить биллинг до вменяемого состояния не кому просто.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
Estet
Форумчанин
СообщениеДобавлено: Ср 9-02-11 : 13-23    Заголовок сообщения: Ответить с цитатой

Сессии как правильно было замечено используются для идентификации пользователя. Сессии как правило хранятся в куках.

Как вам например удобно было бы вводить каждый раз логин пароль здесь на форуме на каждый чих?
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
AlexRock
Гуру
СообщениеДобавлено: Ср 9-02-11 : 20-51    Заголовок сообщения: Ответить с цитатой

Estet писал(а):
Как вам например удобно было бы вводить каждый раз логин пароль здесь на форуме на каждый чих?

А если только один раз при запуске программы, а потом всё время хранить в оперативке, пока работает приложение, и вставлять их в каждое сообщение запроса к службе? Напоминаю, что общение между клиентом и службой идёт по шифрованному каналу.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Art009
Продвинутый форумчанин
Предупреждений : 1
СообщениеДобавлено: Ср 9-02-11 : 22-01    Заголовок сообщения: Ответить с цитатой

Estet писал(а):
Сессии как правило хранятся в куках

а у меня в зачётке Very Happy
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение Посетить сайт автора   Номер ICQ
ДобрыйФей
Мечтатель
Предупреждений : 5
СообщениеДобавлено: Вт 15-02-11 : 13-29    Заголовок сообщения: Ответить с цитатой

Ха-ха, Алекс снова остался без ответа.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
sever
Продвинутый форумчанин
СообщениеДобавлено: Вт 15-02-11 : 14-17    Заголовок сообщения: Ответить с цитатой

AlexRock писал(а):
Напоминаю, что общение между клиентом и службой идёт по шифрованному каналу

А ключи у вас как часто меняются, я думаю если при каждом запросе будут валить одни и теже пакеты ктонибудь может послушать и перебрать.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Richard Ferlow
Гуру
Предупреждений : 2
СообщениеДобавлено: Вт 15-02-11 : 14-27    Заголовок сообщения: Ответить с цитатой

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

с точки зрения браузера, сессия, которую на стороне клиента никак не сохранили после закрытия браузера пропадет у клиента.

AlexRock
логин и пароль каждый раз передавать - не есть хорошо. с точки зрения логики это пользователь у тебя каждый раз будет переавторизовываться. к тому же пароль с логином придется в кукисах хранить, что так же не очень хорошо.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
ultrancux
Продвинутый форумчанин
СообщениеДобавлено: Вт 15-02-11 : 16-21    Заголовок сообщения: Ответить с цитатой

AlexRock
WCF на каждый контракт логин и пароль передаёт?
Smile
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
AlexRock
Гуру
СообщениеДобавлено: Вт 15-02-11 : 20-58    Заголовок сообщения: Ответить с цитатой

sever писал(а):
А ключи у вас как часто меняются, я думаю если при каждом запросе будут валить одни и теже пакеты ктонибудь может послушать и перебрать.

У меня два варианта пока - шифрование на базе сертификатов (здесь прослушка не страшна, ибо сертификаты изначально поставляются вместе с клиентом и в сообщениях закрытые ключи не передаются - максимум открытые для идентификации той же службы, например) и генерация нового ключа на каждый запрос к службе. Во-втором случае ключь будет встраиваться в сообщение по определённому алгоритму (попытка спрятать ключ в сообщении), но сам алгоритм прятания меняться не будет. Второй вариант мне меньше нравится, ибо таки да, можно попытаться подобрать.
Richard Ferlow писал(а):
логин и пароль каждый раз передавать - не есть хорошо. с точки зрения логики это пользователь у тебя каждый раз будет переавторизовываться. к тому же пароль с логином придется в кукисах хранить, что так же не очень хорошо.

Вообще, планировалось, что пользователь будет сам вводить пароль и логин при каждом запуске приложения, а во время работы приложения они будут в ОЗУ. Хранить пароли на стороне клиента не планируется - максимум, результаты вычисления необратимой функции (хеши или что-то в этом роде - я ещё толком не разбирался).
ultrancux писал(а):
WCF на каждый контракт логин и пароль передаёт?

WCF передаёт всё, что программист пожелает. Логины и пароли - это моя придумка аутентификации и авторизации клиента. Просто, чтобы не гнать их по открытому каналу (даже если не каждый раз при обращении, а всего один при авторизации), я сделал зашифрованный на уровне сообщений. Только вот проблема встала, как шифровать и как ключи передавать.



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

Вообще, взломать становится куда легче, если злоумышленник и есть клиент. Тут уже и сертификаты не помогут - ведь их от копирования и эскпорта ключей не защитишь... Хотя, если запретить экспортировать закрытый ключ... Вобщем, всё это пока для меня очень сложно, поэтому решаться всё будет походу дела.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
1ddr
Гуру
Предупреждений : 1
СообщениеДобавлено: Вт 15-02-11 : 22-05    Заголовок сообщения: Ответить с цитатой

А если клиент хочет сломать, чтобы авторизироваться под другим юзером, получив пароли и логины? И чисто теоритически если пароли и логины лежат в озу не зашифрованные, то почему их нельзя слить авторизированному пользователю? Или я чего ваще не так понял.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
AlexRock
Гуру
СообщениеДобавлено: Вт 15-02-11 : 23-42    Заголовок сообщения: Ответить с цитатой

1ddr
Ну, говорят, что экзешники на Лабвью ещё никто не ломал.

Пароли и логины других юзеров находятся у других юзеров и в БД на сервере. Их от юзеров никто не скрывает. Я и говорил, что если злоумышленником является сам обладатель клиента, то ему легче будет выяснить, в какие места сообщения ныкается ключ шифрования. Вот только какие операции делаются с частями этого ключа, чтобы его восстановить, ему будет неизвестно, т. к. они зашиты в клиенте. Т. е. ключ тоже своего рода шифруется.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Показать сообщения:   
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)ПРОГРАММИРОВАНИЕ Часовой пояс: GMT + 7
Страница 1 из 1

 

 
Аватары: Вкл|Выкл   ЮзерИнфо: Вкл|Выкл   Подписи: Вкл|Выкл
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы