CSRF-Prevention: нет заголовка origin и referer - как справиться?

Я пытаюсь улучшить свою защиту от CSRF, проверяя источник и заголовок ссылки на стороне сервера, прежде чем принимать или блокировать запросы от клиента.

Ссылаясь на этот сайт по адресу owasp.org , следует заблокировать все запросы, которые ни источник, ни заголовок ссылки:

Что делать, если нет ни источника, ни реферала

Если ни один из этих заголовков отсутствует, что должно быть ОЧЕНЬ редко, вы можете либо принять, либо заблокировать запрос. Рекомендуем блокировать, (...)

НО ... когда я теперь открываю новую вкладку и пытаюсь загрузить свою страницу в первый раз, мой запрос не имеет заголовка origin или referer, поэтому мой первый запрос блокируется.

Вопрос: Как вести себя в этих случаях? Или я что-то не понял?

Примечание: я использую защиту CSRF-токена, этот вопрос касается только проверки заголовка.


person sasha    schedule 21.07.2016    source источник


Ответы (1)


Я не уверен, правильно ли я понял ваш вопрос, но при первой загрузке страницы запроса на изменение состояния быть не должно. По этой причине запрос должен быть разрешен.

Ваш фильтр должен сначала проверить, изменяет ли запрос состояние (поместить, удалить и т. Д.), А затем проверить наличие соответствующих заголовков, если это так.

person ineedahero    schedule 30.11.2016