2014-11-05 3 views
0

Я включил CSRF в приложении Spring + Thymeleaf. Хорошо, что Thymeleaf автоматически позаботится о добавлении CSRF к каждой форме <> в html. Проблема в том, что запросы Ajax, отправляющие эти формы, теперь терпят неудачу, и я хочу знать, есть ли стандартное решение для этого.CSRF в Spring + Thymeleaf + Ajax + Restful API

Другая проблема, с другой стороны, в том, что мое приложение будет поддерживать Restful API. Когда я включаю CSRF в моем приложении, аутентификация от клиента с использованием API завершается с ошибкой. Итак, вопрос в том, есть ли способ включить CSRF для просмотра веб-страниц и отключить его для моего Restful API? С другой стороны, отключение CSRF делает уязвимые API уязвимыми для атак, если злоумышленник знает о них. Так в чем же лучшая практика?

Благодаря

+0

Пожалуйста, покажите свой код и ошибки, которые вы получаете. Также лучше всего создавать отдельные вопросы, чтобы как можно больше членов сообщества рассматривали их. – Aeseir

ответ

0

Для Первый сценарий, чтобы представить форму с помощью Ajax позвонить вам необходимо вручную добавить скрытый ввод генерируемый CSRF в форме. Для второго случая вы можете исключить некоторый URL-адрес от перехватчика в вашем случае, вы можете исключить URL-адрес из перехватчика CSRF.

исключить тег присутствует весной 3.2

<mvc:interceptor> 
<mvc:exclude-mapping path="/your_url"/> 
</mvc:interceptors> 
+0

Большое спасибо за ответ. Но вопрос в том, должен ли я действительно отключить CSRF для спокойного api? Злоумышленник все равно сможет атаковать систему, зная api из браузера. Мне бы очень хотелось иметь поддержку CSRF-защиты в Restful api. – Saro

Смежные вопросы