Подтвердить что ты не робот

Недопустимый заголовок авторизации в запросе POST PHP

В настоящее время я пытаюсь прочитать заголовок авторизации в PHP script, который я вызываю с запросом POST. Заголовок авторизации заполняется маркером. Кажется, что заголовок авторизации каким-то образом удален до того, как он появится на моем PHP скрипт. Я выполняю почтовый запрос с Postman (аддон Chrome), и я включил CORS в свой PHP скрипт. Я не имею прямого доступа к серверу apache.

HTTP-запрос:

Accept:*/*
Accept-Encoding:gzip,deflate
Accept-Language:de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4,ja;q=0.2
Authorization:Bearer mytoken
Cache-Control:no-cache
Connection:keep-alive
Content-Length:32
Content-Type:text/plain;charset=UTF-8
Host:www.myhost.com
Origin:chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm
 User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)       
 Chrome/38.0.2125.104 Safari/537.36

PHP скрипт:

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Authorization, Origin, X-Requested-With, Content-Type,      Accept");
header("Content-Type: application/json");

$headers = getallheaders();
echo $headers['Authorization'];

Вышеупомянутый script выводит '' (= ничего).

4b9b3361

Ответ 1

Через некоторое время найдено решение этой проблемы. Как-то заголовок авторизации был удален и добавив следующие строки в мой .htaccess, я смог заставить его работать.

RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]

Ответ 2

Ниже массива хранятся заголовки запросов, которые могут отсутствовать в переменной $_SERVER

$headers = apache_request_headers();

(Особенно верно для заголовка ajax 'HTTP_X_REQUESTED_WITH', который будет найден следующим образом: $headers['X_REQUESTED_WITH']

Ответ 3

Я не знаю, почему мой php 5.4.45, работающий на NGINX, отказывался от любого настраиваемого заголовка, содержащего символы подчеркивания:

ПРИНЯТ: CURLOPT_HTTPHEADER = > массив ('Авторизация: 123456')

ОТКАЗА: CURLOPT_HTTPHEADER = > массив ('my_Authorization: 123456')

Я надеюсь, что это может помочь кому-то. Приветствия