2016-08-23 5 views
3

Я задаю этот вопрос, потому что в клиентском серверном приложении сервер отправляет html с другим токеном, скрытым в форме для каждого запроса. Этот токен построен на сервере с помощью секретного ключа.Угловой 2 - Имеет смысл использовать токен csrf в Angular 2?

Но Угловые 2 все формы уже находятся на клиенте. Для формы есть токен, в котором ему нужен секретный ключ, в клиенте, и для меня это уже одно нарушение безопасности.

Так что я задаю вопрос, имеет ли смысл использовать токен csrf в Angular 2? Если да, то как это можно сделать?

+1

Возможный дубликат [Как работает угловая 2 (бета-версия) с XSS или CSRF?] (Http://stackoverflow.com/questions/36594516/how-does-angular-2-beta-handle-with-xss- or-csrf) –

ответ

3

Угловая 2 включает в себя стратегию смягчения CSRF/XSRF, известную как double-submit cookie pattern. От Angular documentation,

Угловой клиент http имеет встроенную поддержку этой техники. По умолчанию CookieXSRFStrategy ищет файл cookie под названием XSRF-TOKEN и устанавливает заголовок HTTP-запроса с именем X-XSRF-TOKEN со значением этого файла cookie при каждом запросе. Сервер должен установить cookie XSRF-TOKEN и проверить заголовок ответа для каждого запроса на изменение состояния.

Итак, если вы используете услугу http, вам не нужно делать что-либо дополнительное на угловой стороне, чтобы получить защиту CSRF. Серверу необходимо проверить, что значения заголовка и файла cookie идентичны.

+0

Привет, Nate, я сделал регистрацию и отправил форму в свое приложение и поймал запрос, который был на сервере, и оба не нашли ничего с словом 'csrf' или' XSRF'. Таким образом, он появился в cookie, но связан с PyCharm. Если по умолчанию включена защита CSRF в Angular 2, как ее активировать? – rafaelcb21

+1

@ rafaelcb21 Какой у вас бэкэнд? Я бы рекомендовал опубликовать отдельный вопрос с информацией о вашей серверной среде и любом соответствующем коде. –

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