gpt4 book ai didi

php - 如何访问未出现在 $_SERVER 中的请求 header ?

转载 作者:IT王子 更新时间:2023-10-29 00:21:45 32 4
gpt4 key购买 nike

我正尝试在 PHP 中创建一个 REST API,并且我想实现一个类似于 Amazon 的 S3 方法的身份验证方案。这涉及在请求中设置自定义“授权” header 。

我原以为我可以使用 $_SERVER['HTTP_AUTHORIZATION'] 访问 header ,但在 var_dump($_SERVER) 中找不到它。 apache_request_headers() 函数可以解决我的问题,但我的主机将 PHP 实现为 CGI,因此它不可用。

还有其他方法可以让我在 PHP 中访问完整的请求 header 吗?

最佳答案

你需要做一些 mod_rewrite 魔法来让你的 header 通过 CGI 障碍,就像这样:

RewriteEngine on
RewriteRule .? - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

<?php
$auth = $_SERVER['HTTP_AUTHORIZATION'];
?>

请注意,如果您将 mod_rewrite 用于其他目的,它最终可能会成为 $_SERVER['REDIRECT_HTTP_AUTHORIZATION']

关于php - 如何访问未出现在 $_SERVER 中的请求 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/827060/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com