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