Только что наткнулся на этот вопрос, искал что-то еще, вот мой ответ:
Общий принцип безопасности, о котором следует помнить: любые данные могут быть изменены.
Теперь с практической точки зрения вот что происходит: чем дальше вы работаете со стеком (транспорт, сеть, связь ...), тем труднее становится изменить данные, потому что необходимые инструменты с большей вероятностью будут недоступны Прежде всего, вам потребуются модификации системы (например, вы можете перекомпилировать ядро Linux, чтобы связываться со стеком Ethernet / IP, если вам интересно).
Говоря о HTTP, это прикладной уровень, и становится абсолютно просто делать что угодно. Вы найдете множество инструментов, которые позволят вам создавать любые пользовательские HTTP-запросы от самых простых сетевых инструментов (nc, telnet ...) до более продвинутых (cUrl, Fiddler ...).
Так что НЕТ, простое присутствие заголовка x-required-with не может рассматриваться как надлежащая защита.
Хотя это может быть полезно для ситуаций с низким уровнем безопасности, это определенно не остановит атакующего, желающего пройти его. Запомните первый принцип безопасности: нет непроницаемой системы, она должна быть достаточно защищенной, чтобы попытки взлома были недостойны.