Header 授权不适用于子域
Header Authorization not working on Sub Domain
我的 API.
有这个基本授权功能
private function authorize() {
$headers = apache_request_headers();
if(isset($headers['Authorization'])){
if ($headers['Authorization'] == '14abd57ece42d9489aeae6e1865064751') { //'akif&&nadeem'
return true;
}
}
return false;
}
它在我的 API 域上运行良好。com/api/actionname
但是当我尝试通过子域 subdomain.domain.com/api/actionname
访问我的 API 时,它不起作用 [授权失败]
所有代码都正确到位,API 无需授权即可完美运行。知道我该如何解决这个问题吗?
Headers 的输出如下:
array(9) {
["Host"]=>
string(24) "ultimate.bleupage.online"
["Connection"]=>
string(10) "keep-alive"
["User-Agent"]=>
string(115) "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
["Cache-Control"]=>
string(8) "no-cache"
["Postman-Token"]=>
string(36) "6330a309-ffcf-d72e-936a-bf10ff154d45"
["Accept"]=>
string(3) "*/*"
["Accept-Encoding"]=>
string(13) "gzip, deflate"
["Accept-Language"]=>
string(26) "en-GB,en-US;q=0.8,en;q=0.6"
["Cookie"]=>
string(36) "PHPSESSID=p2m0cc7sq7kn8fk2motvrobnn4"
}
尝试使用 Authorization
以外的一些其他参数键,例如 Auth
,因为有时 Apache 会过滤掉授权 header 您可以在此处获得更多信息 Apache 2.4 + PHP-FPM and Authorization headers。
您可以像这样访问(使用 $_SERVER
):
$_SERVER['HTTP_AUTH']
或像这样(apache_request_headers
):
apache_request_headers()['Auth'];
我的 API.
有这个基本授权功能private function authorize() {
$headers = apache_request_headers();
if(isset($headers['Authorization'])){
if ($headers['Authorization'] == '14abd57ece42d9489aeae6e1865064751') { //'akif&&nadeem'
return true;
}
}
return false;
}
它在我的 API 域上运行良好。com/api/actionname
但是当我尝试通过子域 subdomain.domain.com/api/actionname
访问我的 API 时,它不起作用 [授权失败]所有代码都正确到位,API 无需授权即可完美运行。知道我该如何解决这个问题吗?
Headers 的输出如下:
array(9) {
["Host"]=>
string(24) "ultimate.bleupage.online"
["Connection"]=>
string(10) "keep-alive"
["User-Agent"]=>
string(115) "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
["Cache-Control"]=>
string(8) "no-cache"
["Postman-Token"]=>
string(36) "6330a309-ffcf-d72e-936a-bf10ff154d45"
["Accept"]=>
string(3) "*/*"
["Accept-Encoding"]=>
string(13) "gzip, deflate"
["Accept-Language"]=>
string(26) "en-GB,en-US;q=0.8,en;q=0.6"
["Cookie"]=>
string(36) "PHPSESSID=p2m0cc7sq7kn8fk2motvrobnn4"
}
尝试使用 Authorization
以外的一些其他参数键,例如 Auth
,因为有时 Apache 会过滤掉授权 header 您可以在此处获得更多信息 Apache 2.4 + PHP-FPM and Authorization headers。
您可以像这样访问(使用 $_SERVER
):
$_SERVER['HTTP_AUTH']
或像这样(apache_request_headers
):
apache_request_headers()['Auth'];