Что значит "подсчёт хэша HMAC от значений cookie"

korpus

злой бобёр
Здесь я прочитал, что можно "Проверять данные cookie и определять, изменены ли они". Непонятно, как этот механизм реализован. В чём принцип данного механизма? Кто и как проверяет изменения кук-файлов: браузер или сервер? В википедии почитал про это, но ничего не понял.
 

Вурдалак

Продвинутый новичок
Cookie помимо самого контента таскает с собой хеш от контента. Проверяет, естественно, сервер. Если хеш не совпадает, то cookie была модифицирована.
 

korpus

злой бобёр
Интересно, а в http-заголовках этот хэш можно увидеть? Как вообще увидеть эту технологию в действии?

Может это фигня какая-то, на которую и заморачиваться не стоит?
 

Hello

Новичок
Как вообще увидеть эту технологию в действии?
https://github.com/yiisoft/yii/blob/master/framework/web/CHttpRequest.php#L1374
При установки любой куки добавляется дополнительная, в которой хранится хэш от всех других кукисов + секретный ключ.
https://github.com/yiisoft/yii/blob/master/framework/base/CSecurityManager.php#L259
 

korpus

злой бобёр
Hello
Вас не понял. Здесь видно, что значения кук проходят некую обработку и только. Посмотрите на код, там идёт обработка значения $value, являющегося значением куки. Просто захэшированная кука ничем не поможет, её также можно похитить и послать на сервер.

Мне начинает казаться, что речь идёт просто о зашифровке кук, чтобы их прочитать нельзя было. И только.
 

MiksIr

miksir@home:~$
Для того, что бы сервер смог доверять данным из кук - он на базе этих кук и секретного ключа создает хеш и ставит в эти же куки. Когда все получает обратно - проверяет.
Таким образом можно поставить куку admin=0 и пользователь не сможет сделать admin=1.
Это не защита от кражи кук, хотя в хеш можно подмешать и IP, например. Это защита от изменения их содержимого.
Все это можно выяснить самому за то время, что потрачено на посты на этом форуме.
 

korpus

злой бобёр
Все это можно выяснить самому за то время, что потрачено на посты на этом форуме.
Да нифига. Нет об этом информации в интернете. Даже названия этой технологии мне не известно. Просто кто-то из Yii-разработчиков в документации лажу написал, теперь я понять не могу, что они имели ввиду.
 

WMix

герр M:)ller
Партнер клуба
а сам догадаться?
как мы проверяем подлинность пользователя не зная его пароля?
 
Сверху