доброй ночи.
пометка: нужна авторизация без учета айпи (twitter, facebook пример, насколько мне известно там не выкидывает при смене айпи)
перечитав несколько статей не смог найти выход.
авторизация:
есть несколько способов
способ 1:
юзер вводит логин и пароль, пароль хэшируется на стороне клиента, отправляется на сервер, проверяются данные, если все ок генерируется случайное значение, хэшируется, или даже не случайное а айди сессии и пишется в сессию.
способ 2:
при генерации формы генерируется случайное значение пишется в hidden и в базу, юзер снова вводит логин и пароль, пароль хэшируется, потом хэшируется вместе с доп значением и отправляется на сервер там проверяется и снова пишется значение в куки.
теперь функция запомнить мои данные на этом компьютере.
тут начинаются проблемы, если поступать теми двумя способами и проверять при открытии юзером сайта значения (сравнивать куку с базой) то можно украсть куку и авторизироваться. Какой придумать выход?
спасибо
p.s. запустил https.
следующий вопрос, допустим я открыл страницу авторизации через https. вошел, потом редирект на обычную версию. если я запишу безопасную куку. то если произойдет редирект кука станет недоступна. как тогда организовать запоминание?
Ой, кажется мне вы очередной велосипед изобретаете.
При логине отправляйте логин и пароль на сервер (используйте https чтобы не было перехвата), формируйте sessionId и пусть пользователь ходит по вашим страницам/запрашивает сервисы с этим Id.
допустим я буду использовать https для авторизации… а если например опять же юзер закроет браузер и снова откроет, то как его опять же безопасно авторизовать?
Если не делать проверку ip, всегда есть вероятность, что украдут куки. Единственный выход — стопроцентный SSL и быть на 100% уверенным, что на сайте нету XSS.
Я бы посоветовал, как уже писали выше, сделать проверку IP по желанию пользователя.
Есть вариант независимую от IP куку держать на одном домене, зависимую от IP на другом основном. В случае смены IP у пользователя делать кроссдоменную авторизацию. Вконтакие так делают. Как реализовать смотрите, например, в докладе Ильи Кантора addconf.ru/event.sdf/ru/add_2010/authors/136/174