Является ли это безопасным способом предотвращения межсайтовых подделок запросов (CSRF)?

Наше приложение таким образом:

Каждый пользователь должен войтистраница входа отправляется обратно на сервер, и если авторизованному пользователю возвращается приложение SPA.SPA-приложение полностью AJAXHTTPS

Обычно мы посылаемsessionid печенье иcsrftoken печенье. Значение cookie-токена будет включено в качестве x-заголовка для любых сообщений AJAX, и все данные проверяются на сервере при каждом запросе.

Поскольку страница SPA создается до ее возвращения в браузер, мы можем встраивать в нее все, что захотим. Мы бы хотели, чтобы конечный пользователь мог войти в систему на нескольких вкладках, одна из которых не влияет на другие.

Что бы мы предпочли сделать:

отправьте sessionid как файл cookie, как и раньше, но имя файла cookie будет случайным.нет csrftoken, но вместо этого вставьте случайное имя файла cookie в подпрограмму javascript, которая добавила x-заголовок к запросам почты AJAX.сервер получит идентификатор сеанса из x-заголовка.

Это дает нам возможность разрешить несколько входов в систему, каждый из которых имеет уникальныйsessionid имя cookie, но каждый пост-запрос имеет стандартизированное имя x-заголовка.

Будет ли это так же безопасно, как сессионный cookie, метод csrftoken cookie / x-header?

Ответы на вопрос(1)

Ваш ответ на вопрос