2015-04-02 29 views
1

I'm發送一個名爲授權, 一個自定義標題Ajax請求,我試圖讓頭與PHP讓PHP定製的響應頭

if (!function_exists('getallheaders')) 
    { 
     function getallheaders() 
     { 
       $headers = array(); 
       foreach ($_SERVER as $k => $v) 
       { 
       if (substr($k, 0, 5) == "HTTP_") 
       { 
       $k = str_replace('_', ' ', substr($k, 5)); 
       $k = str_replace(' ', '-', ucwords(strtolower($k))); 
       $headers[$k] = $v; 
       } 
       } 
       return $headers; 

     } 
    } 
    $val = getallheaders(); 
    echo $val; 

,我得到的所有信息,但是不定製一個

val: Object{ 
    Accept: "application/json, text/plain, */*" 
    Accept-Encoding: "gzip, deflate, sdch" 
    Accept-Language: "es-ES,es;q=0.8,en;q=0.6" 
    Connection: "keep-alive" 
    Host: "www.localhost.com" 
    Origin: "http://localhost" 
    Referer: "http://localhost/gestion/" 
    User-Agent: "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,   like Gecko) Chrome/41.0.2272.101 Safari/537.36" 
} 

enter image description here

任何線索,爲什麼我沒有得到授權頭?

+0

這個問題很可能在這裏找到答案:http://stackoverflow.com/questions/17488656/zend-server-windows-authorization-header-is-not-passed-到PHP腳本](http://stackoverflow.com/questions/17488656/zend-server-windows-authorization-header-is-not-passed-to-php-script)在這個答案中,描述了一個解決方法。它對你有幫助嗎? – 2015-04-02 11:57:00

回答

0

對於自定義頁眉的$_SERVER全球在PHP文件狀態

沒有保證每個Web服務器將提供所有的信息;服務器可能會省略一些,或者提供這裏沒有列出的其他人。這就是說,大量的這些變量在»CGI/1.1規範中說明,所以你應該能夠想到這些

所以儘量使用apache_request_headers它可以幫助你,如果你有apache工作作爲一個服務器

Server Quote

apache_request_headers

+0

問題是,apache_request_headers和getallheaders不可用@AboElzooz – 2015-04-02 17:09:07