В настоящее время я работаю над аутентификацией сайта, основанного на AJAX, и мне было интересно, есть ли у кого-нибудь какие-либо рекомендации относительно лучших практик для такого рода вещей.
Мой первоначальный подход - система на основе файлов cookie. По сути, я установил cookie с кодом авторизации, и каждый доступ к данным менял cookie. Кроме того, всякий раз, когда происходила неудачная аутентификация, все сеансы этого пользователя де-аутентифицировались, чтобы не допустить угонщиков. Чтобы перехватить сеанс, кому-то придется оставить себя в системе, а хакеру нужно отправить самое последнее обновление cookie, чтобы подделать сеанс.
К сожалению, из-за особенностей AJAX, при быстром выполнении нескольких запросов они могут выйти из строя, неправильно установить cookie и прервать сеанс, поэтому мне нужно переопределить.
Мои идеи были:
- Определенно менее безопасный метод, основанный на сеансах
- использование SSL для всего сайта (кажется, что это слишком много)
- Использование iFrame, который ssl-аутентифицирован, для выполнения безопасных транзакций (я просто уверен, что это возможно, с небольшим количеством взлома jquery)
Проблема не в передаче данных, а в том, что кто-то может получить контроль над чужой учетной записью.
Определенно менее безопасный метод на основе сеанса