[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: авторизация идентефикация
Guest
Доброго времени суток,авторизация и идентификация на чем их лучше реализовывать куккисах(генерирующийся доп хеш пароль) или сессиях?
Вообще-то наверно вопрос тупой, если учесть, что сессии используют куккисы, но все же чему отдать предпочтение?
Вообще задачу наверно нужно озвучить так: на чем и как написать наиболее безопасные авторизацию и идентификацию?
просто все что смотрел и читал не подходит куккисы кардуться а значит безопасность хромает, а между хорошей системой защиты на куккисах и просто сессиями разницы особо получается и нет



Спустя 7 часов, 52 минуты, 22 секунды (1.05.2012 - 08:11) Kuliev написал(а):
Guest
Вам нужно для начала понять чем отличается АВТОРИЗАЦИЯ от ИДЕНТИФИКАЦИИ, а уж потом думать о способах реализации! wink.gif

Спустя 43 минуты, 47 секунд (1.05.2012 - 08:55) vagrand написал(а):
Как по мне то лучший способ такой:
1. При создании юзера генерируешь для него уникальный хеш. При чем в этом хеше не должен участвовать логин или пароль юзера. Можно сделать при помощи md5(uniqid());
2. После авторизации пользователя генерируеш авторизационный хеш примерно по такому алгоритму:


$expireTime = time() + 3600; // Хеш проэкспайрится через 1 час
$authHash = md5($userUniqHash . $expireTime);


3. Записываешь в куки три параметра: userId, $expireTime и $authHash;

4. При каждом открытии страницы находишь юзера в БД по userId - это будет быстрый поиск. Затем Генерируешь хеш на основании данных из куки $expireTime и уникального хеша пользователя и сравниваешь его с тем хешом, который пришел из куки.

Таким образом ты решаешь сразу несколько проблем:
1. Не записываешь в куки пароль юзера пусть даже в виде хеша;
2. Делаешь хеш временным, т.е. даже если у юзера его украдут, то пользоваться им смогут только N-ое время

Спустя 2 часа, 9 минут, 39 секунд (1.05.2012 - 11:05) Guest написал(а):
vagrand
Да все верно, именно такие реализации и попадаются из курса "продвинутых" и данная система работает на куккисах, но проблема в том, что приложение которое разрабатывается должно быть сверх защищенным. А куккис могут украсть. И как вы верно заметили использовать его могут N-ое время, как можно обойти данную проблему, можно ли как то иначе реализовать задачу?

Спустя 1 час, 49 минут, 34 секунды (1.05.2012 - 12:54) Guest написал(а):
Цитата
приложение которое разрабатывается должно быть сверх защищенным. А куккис могут украсть.

Если у вас можно украсть кукисы, то проблема не в них, а в вашем приложении.

Спустя 42 минуты, 46 секунд (1.05.2012 - 13:37) vagrand написал(а):
Цитата
приложение которое разрабатывается должно быть сверх защищенным


Хранение авторизационных данных в cookie устраивает многие продвинутые порталы, но не устраивает вас. Что тут могу сказать - если изобретете 100% гарантированный метод будет интересно о нем почитать.

Спустя 1 час, 42 минуты, 54 секунды (1.05.2012 - 15:20) Guest написал(а):
Понятно. Я думал над куккисами и единственный возможный выход как доп защита представляется мне в следующем: "уникальная" генерация на стороне юзера и сервера хеш пароля и изменение его при определенных условиях к примеру "изменение времени" Т.е. куккис хеша может изменяться по уникальному для каждого юзера алгоритму на стороне браузера. Таким образом получится, что если даже будет украден куккис, то по мимо него нужен будет ключ(функция) приводящая к изменениям куккиса на стороне клиента, разумеется и его можно выудить, но это создаст определенную проблему.
А как насчет сертификатов безопасности может быть лучше задействовать их?

Спустя 2 часа, 15 минут, 43 секунды (1.05.2012 - 17:36) vagrand написал(а):
Честно говоря не понял твою идею по поводу генерации хеша на стороне клиента. Попробуй раскрыть ее более детально.

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

Спустя 2 часа, 34 минуты, 34 секунды (1.05.2012 - 20:10) Guest написал(а):
vagrand
Честно говоря не понял твою идею по поводу генерации хеша на стороне клиента. Попробуй раскрыть ее более детально.
На стороне клиента по уникальному именно для него(клиента) алгоритму идет изменение куккиса, таким образом получается, что если куккис будет похищен через 5 минут, он может быть уже не актуальным.
Если кто-то и захочет работать под видом добропорядочного юзера, то ему придется стырить и сам функционал по изменению кукиса хеша.
А сервак разумеется должен полученный куккис верно расшифровать.

Спустя 16 часов, 53 минуты, 10 секунд (2.05.2012 - 13:04) vagrand написал(а):
Цитата
по уникальному именно для него(клиента) алгоритму


Это как? Если имеется ввиду что хеш будет сгенерирован на основании конфигурации компа клиента, то вопрос в том как вы получите данные о его конфигурации?

Спустя 1 час, 2 минуты, 54 секунды (2.05.2012 - 14:06) Guest написал(а):
vagrand
благодарю за проявленный интерес. Нет все проще клиенту поставляется уникальный код генерации хеша, код допустим автогенерирующийся,и предположим через определенное время сервер посылает доп куккисы для переменных скрипта, но способ генерации хеш куккиса у каждого клиента должен быть свой, словом нужно думать. Но по факту хеш-куккис создается на стороне клиента, а на стороне сервера проверяется может ли такой хеш существовать.

Спустя 1 минута, 11 секунд (2.05.2012 - 14:08) Guest написал(а):
а усложнять уже можно как угодно, подгружать аяксом доп скрипты, куккисы и прочие примочки

Спустя 2 минуты, 41 секунда (2.05.2012 - 14:10) Guest написал(а):
достаточно интересный вопрос - как сделать отторжение внешних скриптов и запрет на их добавление, ну или хотя бы их подавление. Т.е. допустим если я подгружаю скрипт через какой-нить дебагер, можно ли запретить работу тех скриптов которые я попытаюсь внедрить?

Спустя 2 часа, 25 минут, 28 секунд (2.05.2012 - 16:36) vagrand написал(а):
Как по мне вы имеете слабое понятие о том что пишете. Если я украл куки и код для генерации хеша, то как вы на сервере поймете что я это не тот юзер, у которого я все это спер? Я и дальше буду получать за юзера код для генерации хеша и никто ничего на сервере не заподозрит

Спустя 1 час, 1 минута, 17 секунд (2.05.2012 - 17:37) Guest написал(а):
да но куда легче просто украсть куккисы чем код, правда?

Спустя 2 минуты, 59 секунд (2.05.2012 - 17:40) Guest написал(а):
в прочем сдается мне если вы и код сумеет украсть, то к чему вообще все эти попытки, на деле украденный код будет означать что вы свободно гуляете по компу жертвы, и вольны им пользоваться как заблагорассудится
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.