Шаблон двойной отправки файлов cookie.

В шаблоне cookie с двойной отправкой токен CSRF может быть установлен сайтом в файл cookie, а CSRF может быть вставлен в скрытое поле в каждой HTML-форме, отправляемой клиенту. После отправки формы сайт может сравнить токен формы вместе с файлом cookie, чтобы проверить, совпадают ли эти два значения. Это не позволяет злоумышленнику читать или устанавливать файлы cookie в целевом домене, поэтому он не может поместить действительный токен в созданную им форму.

Пример проекта.

Этот проект представляет собой приложение NodeJS, и в нем используются шаблоны colorlib.

Код для приложения приведен ниже.

Вы должны создать логин пользователя, который позволяет пользователю вводить учетные данные и входить на сайт.

Процесс.

Здесь, когда пользователь вошел на сайт, он проверит действительность пользователя, сравнив учетные данные в файле loginCtrl.js. если пользователь является действительным идентификатором сеанса пользователя, генерируются с использованием метода genSessionId() и устанавливаются как файл cookie в браузере, а также токен CSRF также генерируется с использованием метода genCSRFToken(sessionId,saltValue) и добавляется файл cookie. Когда страница сведений загружается, она вызывает функцию accessToken(), которая извлекает файл cookie csrf с помощью функции getCsrfCookie(cookiename). Если она возвращает токен, он добавляется в скрытое поле, иначе он не добавляется. После отправки подробной формы в действие будет отправлен файл cookie токена CSRF, а также в теле формы будет отправлено значение токена CSRF. Маршрут /validateCsrfToken получит токен CSRF, полученный в файле cookie, а также в теле сообщения, и сравнивает два полученных значения, а также сравниваются идентификаторы двух сеансов. Затем он возвращает сообщение в соответствии с действительностью. Если значение совпадает, параметр отправляется через URL как «error=false». Затем получите доступ к возвращаемому значению из URL-адреса с помощью метода getParameterByName(name, url) и после того, как он вернет значение. Затем он проверяет, является ли результат успешным или неудачным, после чего сообщение, относящееся к статусу, будет отображаться, делая теги ‹div› видимыми.

Спасибо!!
До скорой встречи :)

Ссылка на гитхаб.



Другие сообщения.





Использованная литература.