Занимательный копипаст
Честно «стащено» с Хабрахабра
Читать дальшестранная передача. Обиднее всего за оператора, чем он заслужил всю эту бяду...)
Вот встал тут вопрос, как с наименьшими затратами и в довольно защищенной форме хранить авторизацию на стороне юзера, естсественно с хранением данных как у юзера (куки) так и на сервере (в сессионном файлике).
В общем поставленный вопрос, я решил довольно просто.
В куку пишется одна строка, разделенная по шаблону на информационные блоки.
Положим первые n символов рандомизированным ключем, который будет храниться в базе и обновляться при каждой попытке входа. Его будем использовать с целью проверки валидности вводимых данных. (s_key)
Далее в нееже записываем md5 пароля, хотя можно исопльзовать и собственные алгоритмы шифрования. Да знаю, использование дешифровываемых алгоритмов не безопасно, да и в принципе хранение пароля в куках, засим и воспользовался md5. (pass)
Лирическое отступление
Беспорно подбором пароля злоумышленник может найти нужную комбинацию md5 хэша, но если учитывать, что в любом случае гененрируется строка длинной в 32 символа какой бы исходной длины не были входящие данные, это обеспечивает достаточно высокую безопасность входа.
И в любом удобном для нас порядке запишем идентификатор пользователя (user_id).
В результате в момент прихода юзера на сайт мы имеем о нем необходимую информацию: user_id и s_key, которые мы используем для форирования запроса к базе данных. В случае наличия такой комбинации id+ключ, сравниваем пароли хранящиеся в куках и полученный в результате запроса. И, понятное дело, если пароли совпадают, то пользователь авторизуется как указанный, если же нет, то обнуляем сессию и куки, и выставляем дефолтовые, гостевые, данные.
Ничто так не поднимает настроения как кружка кофе утром, хотя в моем случае стакан с колой.
Доброе утро, страна, mypage и весь мир.
На закуску картинка XKCD, надеюсь я не повторился с записью.
Настроение перевернуть весь мир и написать оба сайта разом) всем спасибо все свободны)
Ах, да...
XKCD
Теперь мы официально в Chrome Webstore
УРА, товарисчи)
Из объективно хорошего и стоящего, что добавлено в кнопку:
Вот говорят, что труд сделал из обезьяны человека, но что-то мне подсказывает, что в моем случае сделает он из меня мартышку.
Вниманию юзеров, использующих мою кнопку «Что нового?».
Корпорация Google поменяла политику распространения и установки расширений для Google Chrome. Это отрицательно скажется на работоспособности кнопки.
Установить исправленную кнопку на данный момент не представляется возможным.
Для распространения кнопки требуется сертификат разработчика Google, стоит который 5$. Сумма смешная, но когда речь заходит об оплате, все становится совсем грустно, ибо на карте не хватает средств, а другими методами оплатить нельзя.
Засим, дорогие мои друзья, ждем второй половины августа, когда я таки смогу оплатить сертификат и выложить кнопку в Chrome Webstore.
Позитивные новости будут в новом посте с таким же названием.
P.S. кнопка перестанет работать к концу сентября 2012 года, поэтому паниковать не стоит, однако о таких вещах стоит предупреждать.