Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как спринг понимает какой csrf токен связан с каким-то запросом / 1 сообщений из 1, страница 1 из 1
28.04.2018, 12:38
    #39637987
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как спринг понимает какой csrf токен связан с каким-то запросом
В спринге по умолчанию включена csrf защита

Если её не выключать, то на странице надо писать( https://docs.spring.io/spring-security/site/docs/current/reference/html/csrf.html#csrf-include-csrf-token-ajax) что-то типа:

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
<html>
<head>
	<meta name="_csrf" content="${_csrf.token}"/>
	<!-- default header name is X-CSRF-TOKEN -->
	<meta name="_csrf_header" content="${_csrf.headerName}"/>
	<!-- ... -->
</head>
<!-- ... -->



Ну и при запросе надо писать:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
$(function () {
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
$(document).ajaxSend(function(e, xhr, options) {
	xhr.setRequestHeader(header, token);
});
})




Как я понимаю суть защиты в том, что сервер генерирует уникальный идентификатор для каждого последующего запроса и проверяет, что при запросе был передан правильный идентификатор, иначе отклоняет этот запрос.
Этот идентификатор одноразовый?
Я так понимаю
Код: html
1.
<meta name="_csrf" content="${_csrf.token}"/>


рендерится только единожды и как тогда быть если у нас страница никогда не перезагружается, а всё делается через ajax ?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как спринг понимает какой csrf токен связан с каким-то запросом / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]