Вот встал тут вопрос, как с наименьшими затратами и в довольно защищенной форме хранить авторизацию на стороне юзера, естсественно с хранением данных как у юзера (куки) так и на сервере (в сессионном файлике).
В общем поставленный вопрос, я решил довольно просто.
В куку пишется одна строка, разделенная по шаблону на информационные блоки.
Положим первые n символов рандомизированным ключем, который будет храниться в базе и обновляться при каждой попытке входа. Его будем использовать с целью проверки валидности вводимых данных. (s_key)
Далее в нееже записываем md5 пароля, хотя можно исопльзовать и собственные алгоритмы шифрования. Да знаю, использование дешифровываемых алгоритмов не безопасно, да и в принципе хранение пароля в куках, засим и воспользовался md5. (pass)
Лирическое отступление
Беспорно подбором пароля злоумышленник может найти нужную комбинацию md5 хэша, но если учитывать, что в любом случае гененрируется строка длинной в 32 символа какой бы исходной длины не были входящие данные, это обеспечивает достаточно высокую безопасность входа.
И в любом удобном для нас порядке запишем идентификатор пользователя (user_id).
В результате в момент прихода юзера на сайт мы имеем о нем необходимую информацию: user_id и s_key, которые мы используем для форирования запроса к базе данных. В случае наличия такой комбинации id+ключ, сравниваем пароли хранящиеся в куках и полученный в результате запроса. И, понятное дело, если пароли совпадают, то пользователь авторизуется как указанный, если же нет, то обнуляем сессию и куки, и выставляем дефолтовые, гостевые, данные.