Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > как защитить cookie?


Автор: rew 4.1.2013, 16:52
С новым годом !!!
У меня такой вопрос. Хочу чтобы люди каждый раз не логинились на моем сайте. Для этого я записываю id пользователя в куки, жизнь куки поставил -1.  Куки шифрую, вообще я изпользую codeigniter там это просто делается. Но как защитить моего пользователя от кражи куки ???

Хочу еще дополнить следующие хранить ip адреса не очень хорошая идея, так как провайдеры в некоторых странах почти каждый день меняют ip 

Автор: Arantir 4.1.2013, 21:57
Вы уверены, что думаете в правильном направлении? Вы знаете о политике безопасности браузеров? Знаете способы воровства cookie? 
Если ответы "да, нет, нет", то вы должны сменить все на прямо противоположное.

Не задавались вопросом, почему вот никто особо куки не шифрует, а вам вдруг понадобилось? И никого же из-за этого не ломают.
Вот на этом форуме куки авторизации - это ID в чистом виде и простой хеш пароля. И на взлом никто не жаловался.

А может потому, что шифровать куки от кражи - это вообще глупость? Если я подставлю себе чужие зашифрованные куки - то без проблем войду на сайт под чужим именем. Потому что куки передаются серверу как есть. И какие бы они не были зашифрованы, сервер никогда не узнает, я это или не я. Просто потому, что куки - это тупо статические данные, а не динамически генерируемые на основе шифровального ключа.

Браузер никогда не выдаст одному сайту куки другого сайта. Чтобы украсть куки сайта, нужно выполнить, например, js-скрипт, с этого же сайта. Просто запретите пользователям использовать тег <script> где бы то ни было.

А чтобы взломать сам браузер, то понадобится куда больше ресурсов и опыта, и для конкретного сайта таким никто заниматься не будет - себе дороже.

Автор: Sanchezzz 5.1.2013, 08:34
Защита кук очень проста нужно httpOnly параметр установить в true тем самым это избавит нас от краж кук через JS, через JS их достать нельзя будет и не будет видно в window.cookie
Используйте httpOnly на важных моментах, PS  этой технологии уже 8 лет)

В codeigniter по умолчанию вроде использует httpOnly.

Шифвровка бред я бы такой ахиней не замораживался. 

Автор: skyboy 5.1.2013, 10:27
Цитата(Sanchezzz @  5.1.2013,  07:34 Найти цитируемый пост)
Защита кук очень проста нужно httpOnly параметр установить в true тем самым это избавит нас от краж кук через JS

люто, бешено плюсую

Автор: rew 6.1.2013, 14:07
спасибо просветили !!!
а насчет шифрования пусть будеть, зачем лишнее показывать, тем более в codeigniter это делается очень просто. 

Автор: rew 9.4.2013, 09:11
у меня на сайте в куках есть id_user, я через firbug изменил его, потом обновил страницу и зашел под другим пользователем

Автор: Arantir 9.4.2013, 09:49
Цитата(rew @  9.4.2013,  08:11 Найти цитируемый пост)
у меня на сайте в куках есть id_user

Ну кто же вам виноват, что вы так сделали...

Про сессии никогда не слышали? В куках хранится ID (строка из 26 символов, подобрать наугад невозможно) сессии, а все важные данные в самой сессии, на сервере. С правильными заголовками о безопасности куки позаботится сам браузер.

Автор: Sanchezzz 9.4.2013, 11:41
Ужас, коровий стыд), надеюсь урок вы выучили и нужно переделывать на сессии .

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)