PHP header_remove не работает

Сценарий:

  1. Пользователь запрашивает страницу API с множеством Authorization заголовок с токеном
  2. санкционировать
  3. Удалить Authorization заголовок
  4. Перенаправление на AWS S3 подписанный URL

header_remove('Authorization'); // Remove header

// Get all headers, should not contain `Authorization` header...
$headers = apache_request_headers();
$headers2 = getallheaders();

var_dump($headers['Authorization'], $headers2['Authorization']);

// string(185) "eyJ0eXAi...oUs"
// string(185) "eyJ0eXAi...oUs"

Почему я не могу удалить заголовки, используя header_remove функционировать?
Я также должен проверить, установлен ли заголовок в других запросах.

1 ответ

Я не уверен, но вот несколько моментов, которые вы должны проверить:

  1. Официальная документация гласит: "Удаляет HTTP-заголовок, ранее установленный с помощью header()". Может быть, заголовок, который вы пытаетесь удалить, не установлен с помощью header,
  2. header_remove чувствителен к регистру.
  3. В разделе "Примечания" говорится: "Заголовки будут доступны и выводиться только при использовании SAPI, который их поддерживает".

Как я уже говорил, я не уверен. Итак, я хотел бы услышать мысли от сообщества.

Другие вопросы по тегам