[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Примитивная защита от кражи кук
balambasik
Доброго дня.

Хотелось бы услышать мнение знатоков.

Есть авторизация. При вводе правильного логина и пароля, юзеру пишеться кука на 2 недели ( для автологина ) с таким значением sha1( login . pass )

Так вот, если такую куку уведут , то легко смогут зайти на сайт.

А если в хеш еще добавить юзер агент и предпочтение языка браузера?


if( cookie value == sha1( login . pass . http user agent . lang ) )

по идее так должно быть безопаснее. даже если куку уведут, нужно что бы юзер агент злоумышленника тоже совпал. А на крайний случай можно добавить в хеш ip юзера. Но для дин. ip это не подходит.
Guest
balambasik Масса вариантов, но главный вопрос кому нужен твой юзер?
arbuzmaster
Например вот - поле для размышлений! Правда некоторые уже знают об этой дыре, но пока еще не все. Так, что по сути по этим данным можно практически на 100% идентифицировать компьютер пользователя. wink.gif

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
linux_user_net
А зачем при регистрации хранить данные в cookie???
Конечно, если другой пользователь сможет захватить cookie другого пользователя, легко с заменой.
Но чтобы такого не было, должна быть какая либо фильтрация,
например те же самые форумы и т.д.
Должна быть четкая фильтрация, я рекомендую регулярные выражения.
Иными словами, ты должен построить стену, с максимальной защитой, но всегда помни одно, в любой программе есть уявзимость, если ты считаешь что его нету, значит ты плохой программист!
Ты должен понимать программисты это люди, и людям свойственно ошибаться. Но это не значит что свой сайт ты не должен защищать, чтобы не задавать таких вопросов советую прочесть книгу.
PHP глазами хакера!
JohnBraxton
Как вариант:
При регистрации пользователя шифруй пароль MD5 + личные примочки, которые знаешь только ты. Напиши функцию, которая этим занимается. В итоге пароль «1234» получался бы вида:
b41f2e1afa148eb41f2e7103f21410bf48346c
Так как это одностороннее шифрование, при логировании твоего пользователя, пароль шифруй тем же методом что и при регистрации. Полученные данные сравнивай с данными в базе.
Вот как раз этот пароль ты можешь хранить в куках, даже если логин и пароль сопрут, войти в аккаунт не смогут.
Это сугубо сырой пример!
FatCat
Цитата (JohnBraxton @ 6.07.2018 - 16:28)
+ личные примочки, которые знаешь только ты

"Солью" добавить айпишник. И пусть воруют куки.

_____________
Бесплатному сыру в дырки не заглядывают...
don.bidon
Цитата (balambasik @ 11.03.2017 - 08:55)
Есть авторизация. При вводе правильного логина и пароля, юзеру пишеться кука на 2 недели ( для автологина ) с таким значением sha1( login . pass )

Изобрёл https://www.php.net/manual/en/book.session.php ?
Если мало, погугли "jwt".
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.