Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | | | |
Так тебе нужно хранить информацию о сессиях между сессиями? 14.08.03 16:11 Число просмотров: 1801
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
Если да, тогда НЕТ способа обеспечить безопасное хранение такой информации, согласен с другими участниками. Точнее, безопасное хранение такой информации - это задача для пользователя. Пользователь для входа использует пару логин-пароль. Если есть опасения насчет сохранности пароля - Мозилла и Опера имеют локальные зашифрованные хранилища паролей, в случае IE пользователь может воспользоваться продуктами третьих сторон, дающими ту же функциональность, например AI RoboForm. Но все это пользователь должен делать сам, если печется о сохранности своих данных.
|
<web building>
|
Sessions vs XSS 14.08.03 12:48
Автор: izlam Статус: Незарегистрированный пользователь
|
Задача:
Уникально сопоставить сессию с компьютером. То есть что бы украденные Cookie нельзя было использовать. Как вариант - сохранять в сессии IP и User Agent. Однако как быть с proxy/nat и одинаковыми браузерами (например универ сидит за nat и браузер у всех одинаковый) ?
Пользователям ДОЛЖЕН быть позволен ввод HTML. Как вариант можно фильтровать JS, но аппликуха на mod_perl под большой нагрузкой, поэтому HTML::StripScripts::Parser не пойдет - слишком медленно.
Потому думаю всё разрешить, но привязать сессии к компьютеру
У кого мысли есть ?
|
|
Вообще-то для таких вещей есть SSL ;) 14.08.03 13:04
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
|
| |
Вообще-то для таких вещей есть SSL ;) 14.08.03 13:51
Автор: izlam Статус: Незарегистрированный пользователь
|
Не уверен, что client-side javascript не сможет досступиться к cookies под SSL. Я не говорю о сниффинге траффика, но о более тривиальных способах снятия cookies. Поясню - один юзер добавляет некий HTML (и javascript) который потом сможет посмотреть другой юзер (возможно залогиненный). Javascript имеет доступ к cookies в данном случае, и SSL ничего не решает.
То есть я хочу сказать - не важно каким способом сняты cookies (пусть даже трояном с локального диска) - они не должны быть реюзабельны на другой машине.
|
| | |
Вообще-то для таких вещей есть SSL ;) 14.08.03 13:57
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
> Не уверен, что client-side javascript не сможет > досступиться к cookies под SSL. Я не говорю о сниффинге > траффика, но о более тривиальных способах снятия cookies. > Поясню - один юзер добавляет некий HTML (и javascript) > который потом сможет посмотреть другой юзер (возможно > залогиненный). Javascript имеет доступ к cookies в данном > случае, и SSL ничего не решает. Прошу прощения, но о каком снятии cookies можно говорить, если при использовании SSL сессия защищается машинно-зависимым ключом? нельзя использовать SSLную сессию с другой машины - сервер ее просто не примет.
|
| | | |
Вообще-то для таких вещей есть SSL ;) 14.08.03 14:21
Автор: izlam Статус: Незарегистрированный пользователь
|
> Прошу прощения, но о каком снятии cookies можно говорить, > если при использовании SSL сессия защищается > машинно-зависимым ключом? нельзя использовать SSLную сессию > с другой машины - сервер ее просто не примет.
Ммм... вопросом на вопрос отвечу. Javascript можетпрочитать cookie из браузера который его (javascript) просматривает ? Это будет ответом на вышеуказанный вопрос.
Если Вам это не совсем очевидно, то просто абстрагируйтесь от метода снятия cookies, он обязательно найдётся (!), и предположим она снята; сосредоточьтесь на проблеме как сделать что бы её нельзя было использовать на другой машине. Идентификации по IP и User Agent строке (которую тоже можно узнать при помощи javascript) недостаточно. Что действительно уникального есть у каждого серфера ?
|
| | | | |
Так тебе нужно хранить информацию о сессиях между сессиями? 14.08.03 16:11
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
Если да, тогда НЕТ способа обеспечить безопасное хранение такой информации, согласен с другими участниками. Точнее, безопасное хранение такой информации - это задача для пользователя. Пользователь для входа использует пару логин-пароль. Если есть опасения насчет сохранности пароля - Мозилла и Опера имеют локальные зашифрованные хранилища паролей, в случае IE пользователь может воспользоваться продуктами третьих сторон, дающими ту же функциональность, например AI RoboForm. Но все это пользователь должен делать сам, если печется о сохранности своих данных.
|
| | | | |
У каждого серфера есть дата закрытия сессии 14.08.03 14:37
Автор: amirul <Serge> Статус: The Elderman
|
> Если Вам это не совсем очевидно, то просто абстрагируйтесь > от метода снятия cookies, он обязательно найдётся (!), и > предположим она снята; сосредоточьтесь на проблеме как > сделать что бы её нельзя было использовать на другой > машине. Идентификации по IP и User Agent строке (которую > тоже можно узнать при помощи javascript) недостаточно. Что > действительно уникального есть у каждого серфера ? > Я так понял, что хочется и чтобы авторизация сохранялась в кукисах и при этом все было безопасно. Так не бывает. Если уж говорить о безопасности, то повторный ввод пароля после закрытия сессии - не такое уж жесткое требование.
Потому как в крайнем случае другой пользователь может с того компьютера, используя того же юзер-агента зайти и получить конфиденциальную (насколько я понял, раз уж речь о безопасности) информацию.
Вывод: сделать сессионную куку, или отказаться от куков и использовать HIDDEN-поля
|
| | | | | |
и еще http_x_forwarded_for 14.08.03 15:07
Автор: paganoid Статус: Member
|
Если юзер сидит за проксёй, еще привязывай сессии к HTTP_X_FORWARDED_FOR - всеж понадёжнее будет.
А про остальное - соглашусь с предыдущими ораторами - идентификация на клиенте через javascript спуфится, а ежели больше ничего на сервер не приходит, то и разделять разные сессии ты не сможешь.
|
|
|