Добрый день. Правильно ли я хочу сделать авторизацию через куки: При первой авторизации создаем некий токен, который записываем в бд + в куки. Так же записываем в сессию id пользователя; При следующей авторизации, после очищения сессии (закрытия браузера), проверяем куки, если есть - сравниваем с токеном из бд, и если совпадают, записываем в сессию id пользователя. Правильно ли я хочу сделать? И безопасно ли это?
Плюс-минус, как-то так оно, в общем-то и работает. Насчет безопасности...ну разве что можно не некий токен хранить на клиенте, а, к примеру, хэш некоего токена с прицепленным хотя бы юзер-агентом. В идеале, конечно, с IP или еще каким идентификатором более менее уникальным, но увы, об эту штуку будет биться головой любая прокся, да и динамические IP у подавляющего большинства. Но не суть. Храни некий хэш, в общем. А сам токен - в базу. Потом, как юзер зайдет, берешь у него куку, юзерагент, токен из базы, смешиваешь и хэшишь токен с юзерагентом, сравниваешь с кукой. У куки можно выставить httponly. Какая-никакая, а защита от кражи через JS. Еще, если у тебя https поднят, можно включить secured cookies.
А тут все просто - безопасность и удобство это взаимоисключающие вещи. Либо безопасно. Либо удобно. Либо компромисс. Либо компромисс с перекосом в одну из сторон в ущерб другой. Выбирай, что для тебя важнее и допустимее.