php - PHP POST 请求中缺少授权 header

标签 php apache http header authorization

我目前正在尝试读取我通过 POST 请求调用的 PHP 脚本中的授权 header 。 Authorization header 填充了一个 token 。似乎 Authorization header 在到达我的 PHP 脚本之前以某种方式被删除。我正在使用 Postman(Chrome 插件)执行发布请求,并在我的 PHP 脚本中启用了 CORS。我无法直接访问 apache 服务器。

HTTP 请求:

Accept:*/*
Accept-Encoding:gzip,deflate
Accept-Language:de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4,ja;q=0.2
Authorization:Bearer mytoken
Cache-Control:no-cache
Connection:keep-alive
Content-Length:32
Content-Type:text/plain;charset=UTF-8
Host:www.myhost.com
Origin:chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm
 User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)       
 Chrome/38.0.2125.104 Safari/537.36

PHP 脚本:

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Authorization, Origin, X-Requested-With, Content-Type,      Accept");
header("Content-Type: application/json");

$headers = getallheaders();
echo $headers['Authorization'];

以上脚本输出 ''(= 无)。

最佳答案

不知何故,Authorization header 被删除了。通过在我的 .htaccess 中添加以下行,我能够让它工作。

RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]

关于php - PHP POST 请求中缺少授权 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26475885/

相关文章:

php - 文档共享/聊天应用程序的安全方法?

javascript - 如何在 php 中使用 javascript 验证在相应的输入字段下打印错误消息

apache - 服务器错误 500 PHP

用于将两个(证书和证书 key )文件作为多部分表单数据发送的 HTTP post 请求的 Java 代码

http - 是否有必要将查询字符串附加到 img 标签中的图像和 css 中的图像以刷新缓存项?

rest - Http请求(REST API)angular2时的错误处理机制

PHP 只读取一个 $_POST 值

php - 有没有办法让 Behat 在 PHP 通知错误时不失败?

apache - org.apache.karaf.jaas.modules.ldap 无法为 LDAP 设置 SSL 支持

Node.js服务器: HTTP POST body is empty