2015-03-01 3 views
0

Здравствуйте, может спросить об этом, почему в моем коде я не могу получить заголовки ['Authorization'] при выполнении моего кода?PHP apache_request_headers не работает должным образом

В то же время iv разработал REST API, который может обрабатывать базу данных для клиентов, используя php-json-mysql, поэтому, когда я использую метод GET вместе, я также включаю my apikey в заголовки как «Authorization», но я не могу получить его в своем код.

Вот мой подход:

$headers = apache_request_headers(); 

if (isset($headers['Authorization'])) { 
    //Good 
}else { 
    //API KEY is missing 
} 

но в моем заголовке запроса он говорит, что

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36 
Authorization: API_KEY 
Accept: */* 
Accept-Encoding: gzip, deflate, sdch 
Accept-Language: en-US,en;q=0.8 

им с помощью Advance REST расширение клиента на хроме. Кто-нибудь сталкивается с этим?

ответ

3

Заголовок Authorization имеет номер specific format, который должен соответствовать.

С использованием его в качестве

Authorization: API_KEY 

не является действительным, веб-сервер, вероятно, игнорируя его полностью. Вы можете использовать пользовательский заголовок так:

X-Authorization: API_KEY или

X-Api-Key: API_KEY

Это было некоторое время, так как я использовал PHP, но я думаю, что если вы отправляете заголовок, как это, вы можете» т получить их с помощью apache_request_headers, так что вы должны будете получить это таким образом:

$_SERVER['HTTP_X_AUTHORIZATION'] или

$_SERVER['HTTP_X_API_KEY']

+0

О, работайте отлично, я думаю, что PHP скрыть этот заголовок или установить safemode = on в httpconfig hmm, что вы думаете? – mardagz

Смежные вопросы