Lumen从请求获取标题密钥

问题描述 投票:0回答:1

我正在使用Lumen框架在API中实现身份验证。我正在头文件中传递api_token,在我的本地主机上,wampserver正常工作。在我的Linux服务器上上传时,它在api_token标头中给出null值。我正在使用邮递员来检查回复

这是我的Auth Middleware @句柄代码来检查值。

echo $request->header("api_token");

我大部分时间用Google搜索,发现public / .htaccess更改需要但不适用于我。

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

在我的.htaccess结束时

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

我不知道如何为请求标头配置apache2。请帮我解决相关的配置或解决方案。

.htaccess api lumen request-headers lumen-5.4
1个回答
1
投票

对于请求标头密钥,应避免使用underscorehyphen更常见,您应该将请求标头密钥重命名为api-token。据Apache 2.4 new features说:

将标头转换为环境变量比以前更严格,以通过标头注入缓解一些可能的跨站点脚本攻击。现在以静默方式删除包含无效字符(包括下划线)的标头。 Apache中的环境变量有一些关于如何解决需要此类标头的破坏旧客户端的指针。 (这会影响使用这些环境变量的所有模块。)

© www.soinside.com 2019 - 2024. All rights reserved.