Безопасная аутентификация PHP, которая живет вечно - PullRequest
0 голосов
/ 27 марта 2012

Я планирую написать плагин javascript, который будет размещен на нескольких разных сайтах.Плагин сообщает, что текущий посещенный веб-сайт добавлен в мою базу данных, а не зарегистрированный пользователь.

Пользователь моего веб-сайта может войти в систему со своим именем пользователя, адресом электронной почты и паролем.Теперь я хочу сохранить токен доступа, который никогда не истечет в cookie браузера пользователя, поэтому каждый раз, когда он / она нажимает на кнопку закладки плагина, javascript будет захватывать cookie и отправлять запрос на сервер, чтобы сервер знал, кто его создал.

Мой вопрос: каков безопасный способ сделать это?Я могу просто сохранить идентификатор пользователя в cookie, но это действительно очень легко симулировать любому пользователю.Если я зашифрую идентификатор пользователя с помощью хэша MD5, хэш будет одинаковым при каждом входе пользователя в систему и может действовать как идентификатор пользователя, поэтому это не решение.Какое решение вы бы порекомендовали мне?Пожалуйста, напишите мне ссылку на его алгоритм.

1 Ответ

1 голос
/ 27 марта 2012

Какой-то протокол Challenge-Response , основанный на данных, хранящихся в браузере - возможно, с использованием localStorage или domStorage в браузере для хранения ключа, который криптографически комбинируется с "«запросить» от сервера ответить «хэшем» ответа - который при проверке сервером позволяет пользователю прогрессировать.

Это не защитит браузер пользователя, но усложнит для внешнего наблюдателя(кто может как-то победить SSL - вы должны использовать HTTPS!) для выполнения атаки воспроизведения.

Пример протокола: Протокол безопасного удаленного пароля ( Реализация JavaScript изна стороне клиента)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...