У меня есть набор служб REST, которые защищены CSRF, используя что-то похожее на шаблон маркера синхронизатора OWASP (https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet). * REST реализована с использованием Java и JAX-RS * Security реализована с использованием Spring Security CSRF токены * HTTP PUT, POST и DELETE защищеныМожно ли включить токен CSRF для службы REST в качестве заголовка ответа Http?
В моем запуске веб-приложения, я пишу правильный маркер CSRF в HTML-страница, а затем приложение включает в себя токен как «X-CSRF-HEADER» в заголовках запроса для каждого отдельного запроса.
У меня также есть клиенты, которые напрямую обращаются к URL-адресам (например, для завивки командной строки и других).
Альтернативные клиенты должны как-то получить токен CSRF (после аутентификации, конечно).
Можно ли включить токен в качестве заголовка ответа HTTP для запросов GET? Если это так, я мог бы включить его в заголовок ответа, и клиент мог его прочитать и включить в будущие заголовки запроса.
Это безопасно?
Почему это было бы менее или более безопасным, чем отправка его в тело ответа? –
@JBNizet Я не думаю, что это по-другому ... но я боюсь того, чего не знаю! Возможно, где-то есть HTTP Header. –
В конце концов, все идет по проводу. Если используется SSL, все шифруется. Если он не используется, ничего не зашифровывается. –