Имена заголовков с символами подчеркивания игнорируются в php 5.5.1 / apache 2.4.6

После обновления до php 5.5.1 и apache 2.4.6 проверка некоторых заголовков теперь прерывается (в частности, проверка на HTTP_X_REQUESTED_WITH ).

В ходе дальнейшего тестирования я заметил, что любой пользовательский заголовок, содержащий символ подчеркивания, игнорируется (я имею в виду, что он не отображается в массиве $_SERVER PHP). Поэтому, если я добавляю заголовок с именем my-header , он становится доступным как $_SERVER['HTTP_MY_HEADER'] , но если я попытаюсь добавить заголовок my_header , он недоступен в $_SERVER .

Это документально подтвержденная функция в apache 2.4. См. Httpd.apache.org/docs/trunk/new_features_2_4.html.

Перевод заголовков в переменные окружения более строг, чем раньше, чтобы смягчить некоторые возможные атаки с использованием межсайтовых скриптов посредством вставки заголовков. Заголовки, содержащие недопустимые символы (включая символы подчеркивания), теперь молча удаляются.