2017-01-29 2 views
4

Я посылающего заголовок сервера со следующими заголовками запроса:заголовок Authorization пуст на PHP var_dump()

Host: xx.com 
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0 
Accept: */* 
Accept-Language: en-US,en;q=0.5 
Accept-Encoding: gzip, deflate 
Referer: xx.com 
Authorization: Bearer mytoken1234 
X-Requested-With: XMLHttpRequest 
Connection: keep-alive 

На мой файл PHP Я пытаюсь просмотреть заголовки с var_dump() и он показывает следующее:

["HTTP_ACCEPT"]=> 
    string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" 
["HTTP_ACCEPT_ENCODING"]=> 
    string(13) "gzip, deflate" 
    ["HTTP_ACCEPT_LANGUAGE"]=> 
    string(23) "en-US,en;q=0.8,fi;q=0.6" 
    ["HTTP_AUTHORIZATION"]=> 
    string(0) "" 
    ["HTTP_CACHE_CONTROL"]=> 
    string(9) "max-age=0" 
    ["HTTP_CONNECTION"]=> 
    string(10) "keep-alive" 
    ["HTTP_COOKIE"]=> 
    string(71) "cpsession=scocta5%3aBcbKZGvPoUCv2Yhb%2c2dc8a5c3bd6713b6ab029f16a46980e7" 

Я попытался добавить следующие строки в моей .htaccess:

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 

или

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

Без этих настроек заголовок авторизации вообще не показывался на var_dump(), но теперь это просто строка (0) "". Почему мой сервер не получает содержимое заголовка авторизации?

+0

Если вы пишете var_dump ($ _ SERVER [ 'PHP_AUTH_USER']); var_dump ($ _ SERVER [ 'PHP_AUTH_PW']); в php-файле, какой результат? –

+0

@OfirBaruch оба равны нулю. – Prosper

ответ

0

Вы можете использовать apache_request_headers функцию:

$headers = apache_request_headers(); 
var_dump($headers['Authorization']); 
Смежные вопросы