vam*_*min 15 php http http-headers
我试图在PHP中创建REST API,我想实现类似于Amazon S3方法的身份验证方案.这涉及在请求中设置自定义"授权"标头.
我以为我能用$ _SERVER ['HTTP_AUTHORIZATION']访问标题,但在var_dump($ _ SERVER)中找不到它.apache_request_headers()函数可以解决我的问题,但是我的主机将PHP实现为CGI,因此它不可用.
有没有其他方法可以访问PHP中的完整请求标头?
cha*_*aos 24
你需要做一些mod_rewrite巫术让你的标题通过CGI屏障,如下所示:
RewriteEngine on
RewriteRule .? - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
<?php
$auth = $_SERVER['HTTP_AUTHORIZATION'];
?>
Run Code Online (Sandbox Code Playgroud)
请注意,如果您将其mod_rewrite用于其他目的,最终可能会出现这种情况$_SERVER['REDIRECT_HTTP_AUTHORIZATION'].