Итак, если мы решили использовать проверку пользовательского заголовка в качестве опции для защиты CSRF и если нам нужно использовать какой-либо другой пользовательский заголовок, отличный от «X-Requested-By», то как лучше всего это сделать?
Можете ли вы описать реальную проблему, которую вы пытаетесь решить? Почему вы не используете токен? Почему вам нужно использовать какой-то другой пользовательский заголовок? Почему вы не можете использовать любой случайный заголовок по вашему выбору?
- personXander  schedule30.12.2015
comment
На самом деле я хочу защитить свой REST API от CSRF-атаки, поэтому, согласно сообщению, упомянутому в вопросе, мы можем сделать это двумя способами: один - через пользовательскую проверку заголовка, а другой - один токен на запрос. Я решил использовать проверку пользовательского заголовка, но вместо X-Requested-By я хочу использовать другой пользовательский заголовок, используемый моим приложением. Я использую библиотеку Sun Jersey Rest.
- personvictor  schedule30.12.2015
comment
А, хорошо, это проясняет. Тогда это не вопрос безопасности, а вопрос программирования. Тогда я отмечу, что он будет перемещен в StackOverflow.
- personXander  schedule30.12.2015
comment
Итак, у вас есть какая-то причина не использовать этот заголовок? Есть ли у вас какие-либо конкретные проблемы в реализации этого?
- personeis  schedule30.12.2015
comment
У меня нет проблем с использованием этого заголовка, но у нас уже есть много пользовательских заголовков в нашем запросе приложения, поэтому я хочу ввести еще один. Вместо этого я могу проверить правильность существующего заголовка.
- personvictor  schedule30.12.2015
В исходном коде CsrfProtectionFilter проверяемый заголовок определяется как частная статическая переменная. Поэтому невозможно изменить заголовок для проверки.
private static final String HEADER_NAME = "X-Requested-By";
Хорошо придерживаться стандартов и использовать X-Requested-By. Но, тем не менее, если вы хотите проверить отдельный заголовок, вам нужно написать свой собственный фильтр, что очень просто. Просто скопируйте class и изменить заголовок (что не рекомендуется)