L’en-tête d’autorisation est vide en PHP var_dump ()

J’envoie un en-tête au serveur avec les en-têtes de requête suivants:

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 

Sur mon fichier php, j’essaie d’afficher les en-têtes avec var_dump () et cela s’affiche:

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

J’ai essayé d’append les lignes suivantes à mon fichier .htaccess:

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

ou

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

Sans ces parameters, l’en-tête Authorization n’apparaissait pas sur var_dump (), mais maintenant, il ne s’agit que d’une chaîne (0) “”. Pourquoi mon serveur ne reçoit-il pas le contenu de l’en-tête Authorization?

Vous pouvez utiliser la fonction apache_request_headers :

 $headers = apache_request_headers(); var_dump($headers['Authorization']);