Предотвращение CSRF при использовании RequestFactory GWT - PullRequest
6 голосов
/ 03 июня 2011

Я только что начал переносить свой код GWT-RPC на новый механизм RequestFactory.

Для предотвращения подделки межсайтовых запросов (CSRF) мой код GWT-RPC захватил идентификатор сеансаэто было сохранено в куки и включено в полезную нагрузку запроса.Возможно ли это с RequestFactory?

Я понимаю, что существует четыре обязательных метода Locator, включая findEntity(id_type id);так что я думаю: о дорогой: куда я могу поместить свой идентификатор сессии?

1 Ответ

9 голосов
/ 03 июня 2011

Как правило, вы расширяете DefaultRequestTransport, чтобы добавить токен в запрос (например, пользовательский заголовок, но вы также можете добавить его в тело запроса) и передать его в init вашего RequestFactory,На стороне сервера вы либо будете использовать фильтр сервлетов, либо увеличите RequestFactoryServlet, чтобы обработать токен еще до обработки запроса RequestFactory.Вы можете определить свой собственный «протокол» здесь: например, вернуть статус 403 или 401 (или любой другой), а затем обработать его в RequestTransport, чтобы сообщить результат вашему приложению.

...