Все игры
Запись

Как обезопасить авторизацию на php при использовании сеанса?


Написать комментарий


Евгений Верховцев      20-01-2011 04:29 (ссылка)
Re: Как обезопасить авторизацию на php при использовании сеанса?
А если пользователь входит через OpenID , что тогда ты сможешь стырить ? Или ты имеешь ввиду про свой сайт ?
Роман Коваленко      20-01-2011 05:15 (ссылка)
Re: Как обезопасить авторизацию на php при использовании сеанса?
Я имею в виду, что думаю над тем как написать авторизацию. Естественно хотелось бы упредить такую возможность, в принципе.
     20-01-2011 07:33 (ссылка)
Re: Как обезопасить авторизацию на php при использовании сеанса?
Довольно интересный подход к защите от перехвата идентификатора сеанса описан в книге Марка Вандшнайдера «Основы разработки веб-приложений с помощью PHP и MySQL, Серия «полное руководство» (2008) на странице 412, а на странице 425 - алгоритмы аутентификации пользователя.
     20-01-2011 07:41 (ссылка)
Re: Как обезопасить авторизацию на php при использовании сеанса?
IP может быть одинаковым для нескольких пользователей, если они выходят через одну подсеть (в самой простой ситуации - ADSL-роутер на четыре компьютера).

Такой, довольно абстрактный пример: в компьютерном клубе «парк на двадцать машин» и пользователи двух-четырёх из них решили одновременно посетить ваш сайт под своим логином и паролем.
Евгений Верховцев      21-02-2011 20:51 (ссылка)
Re: Как обезопасить авторизацию на php при использовании сеанса?
а почему бы тебе куку не удалить сразу после окончания сеанса ???
Рауф Багиров      08-03-2011 12:30 (ссылка)
Re: Как обезопасить авторизацию на php при использовании сеанса?
Может быть, анализировать IP плюс UserAgent
Типа так
$a=array(
getenv('REMOTE_ADDR'),
getenv('HTTP_X_FORWARDED_FOR'),
getenv('Ну какие там ещё заголовки есть содержащие IP'),
getenv('HTTP_USER_AGENT'),
);
$uid=md5(serialize($a));
Это уникальный ID клиента. Впрочем, не панацея. Но абсолютной панацеи нет.
Но вероятность подделки одновременно СИДа, ИП и юзерагента намного ниже.
Евгений Верховцев      08-03-2011 21:56 (ссылка)
Re: Как обезопасить авторизацию на php при использовании сеанса?
Либо добавляешь проверку IP что конечно не очень эффективно при ПРОКСИ , либо делаешь такую феню как на всех крупных сайтах : например ты видишь когда заходишь на МАЙЛ или В Контакте есть один чекбоксик с надписью - чюжой ли у тебя компьютер , если чужой то ставишь галочку и тогда куки удаляешь , если нет то ничего не делаешь . Я уверен что у тебя всё получится :-DDDDD
Александр Тищенко      28-06-2011 23:18 (ссылка)
Re: Как обезопасить авторизацию на php при использовании сеанса?
Ну тут я бы определил несколько правил.
1. Не хранить в сессии никаких данных.
2. никогда не передавать ID сессии (хотя и в кукисы заглянуть можно)
3. всегда делать связку IP + ID сессии и сравнивать их (самый простой способ хранить их в базе).
При авторизе берём IP и ID сессии, кидаем их в базу, далее сравниваем ID сессии с IP из базы для данной сессии.
в последствии просто смотрим по сесии (хотя я и сессию в базе md5пячу ) его начальный IP и сравниваем.
Если не совпали... пошел нафиг.
4. Дополнительно можно кинуть в кукисы какойнить ainfo = md5(SID.IP) и его сравнивать после проверок на соответствие IP и ID сессии.

Ну на самом деле это не идеальный способ (если у юзера отключены кукисы)
     24-01-2012 22:37 (ссылка)
Re: Как обезопасить авторизацию на php при использовании сеанса?
Я бы не забывала еще об одном аспекте безопасности сессий. Если вы на сайт помещаете баннеры, счетчики или любой другой код, который подгружается со стороннего сервера, то его надо непременно помещать в iframe, так как если кто-то вставит в этот код в один прекрасный день (даже всего в 1 http запрос) соотв яваскрипт, он получит идентификатор сессии.
     24-01-2012 22:48 (ссылка)
Re: Как обезопасить авторизацию на php при использовании сеанса?
Вообще-то, можно привязать к идентификации и разрешение монитора. Если разрешение монитора вдруг на каком-то запросе сессии изменилось - недопуск. Кто-нибудь может себе представить, что пользователь в средине сессии заменит монитор? ;)
Это не защита, это просто попытка нагрузить лишней работой атакующего. Ну и таких работ вобщем-то можно еще много на его плечи взвалить.
     24-01-2012 22:50 (ссылка)
Re: Как обезопасить авторизацию на php при использовании сеанса?
Ну еще вариант просто ресетить периодически session id, на случай если он все-таки украден

Написать комментарий