Всем доброго дня! Как сделать безопасную авторизацию? Интересует именно защита от кражи кукисов: если их и украдут, то авторизация всё равно не пройдёт.
Интересует профессиональное решение, потому будет классно, если есть какая-то статья о том, как это реализовано у какого-нибудь крупного проекта
У меня проект не крупный, но защита таки. В основе лежат сессии. При каждой авторизации берётся айпишник, обрезанный до третьей для ipv4 и до шестой для ipv6 подсети, конкатенируется с юзерагентом, в конец добавляется соль, уникальная для каждого юзера, и полученная строка хешируется. Хеш ищется в таблице сессий. Если хеш такой есть, авторизация проходит без б, а если для этого юзера такого хеша не нашлось, в бд добавляется новая сессия, для неё создаётся код верификации и отсылается на почту юзеру, а ответ клиенту приходит с полем session: 0, который в браузере триггерит уведомление о том, что надо чекнуть почту. Вместе с кодом верификации в письме прилагаются айпи и юзерагент. Пока юзер не перейдёт по ссылке и не подтвердит эту сессию, все аутентификации будут неуспешными.