| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Авторизация через соц. сети и безопасность |
| Автор: JEEN 5.1.2012, 08:41 |
| При авторизации через соц. сети (ВК, твиттер, фейсбук), мы получаем уникальный ID, записываем его в сессию и вуаля, мы авторизованы. Но хочется еще и в куках отметиться, чтобы сайт нас помнил. Мне на ум сразу пришла идея, генерировать hash случайной строки каждый раз при авторизации юзера, записывать его в БД и в куки. Но тогда я могу у кого-нибудь стащить эту куку, добавить ее себе и я уже авторизован под другим человеком. Может можно как-нибудь защитить своих юзеров? Хотя сейчас подумал, соц. сети тут не при чем. При обычной авторизации, в куки записывается логин и хэш пароля... их ведь тоже можно просто скопировать, вставить себе и мы угнали чужой аккаунт. |
| Автор: s0lman 5.1.2012, 12:18 |
Это плохой подход. Лучше, например, md5( логин + пароль + соль) Усложнить "угон" можно - дополнительную куку поставить, проверять IP/ОС/броузер/и т.п. машины последней авторизации... Также не забываем, что не бывает абсолютной безопасности - в крайнем случае любые пароли выбиваются ботинками... |
| Автор: cutwater 5.1.2012, 17:54 |
Мне вот вообще всегда было интересно, какой умник придумал отправлять клиенту в куках md5 от приватных данных в качестве идентификатора сессии (привязки сессии к пользователю) Чем лучше? Включив немного соображалку понимаем, что это абсолютно бесполезно и дает мнимую безопасность. Точней оно то дает небольшой прирост вычислительной сложности, если злоумышленник хочет восстановить пароль из этого значения. Но! Ребят проснитесь, зачем это вообще нужно на клиенте? Чем вас не устроил случайный идентификатор, который абсолютно не зависит от логина, пароля и вообще пользователя. |
| Автор: JEEN 5.1.2012, 21:57 | ||||
это было образно сказано, на самом деле я имел ввиду, хэш случаной строки, которая так же записана в БД, но это было абсолютно не важно в моем сообщении. Меня интересовало то, что любой юзер может поставить себе эти куки (не важно md5 пароля или md5 случайной строки) и быть авторизованым.
идея хорошая, спасибо! Только может быть лучше не в куку записывать это, а в БД, каждый раз при вводе логина и пароля, а при авторизации через куки сравнивать эти данные? потому что, если выводить это просто в куку, то ее также можно будет заменить на свою, главное только догадаться с формированием этого хэша. |