【问题标题】:Lumen Getting Header Keys from RequestLumen 从请求中获取标题键
【发布时间】:2018-05-30 10:57:56
【问题描述】:

我正在使用 Lumen 框架在 API 中实现 Authentication。我在标头中传递 api_token,在我的本地主机上,wampserver 它工作正常。在我的 Linux 服务器 上上传它时,它会在 api_token 标头 中给出空值。我正在使用 postman 来检查回复

这是我的 AuthMiddleware@handle 代码来检查值。

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

我大部分时间都在谷歌上搜索,发现 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。请帮助我有关相关配置或解决方案。

【问题讨论】:

  • 你的js脚本是什么,传递api_token标头?
  • 为此我使用邮递员在标头中传递 api_token

标签: .htaccess api lumen request-headers lumen-5.4


【解决方案1】:

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

将标头转换为环境变量比 在通过以下方式减轻一些可能的跨站点脚本攻击之前 标头注入。 包含无效字符的标题(包括 下划线)现在被静默删除。 Apache 中的环境变量 有一些关于如何解决损坏的遗留客户端的指示 需要这样的标题。 (这会影响所有使用这些的模块 环境变量。)

【讨论】:

  • 非常感谢。通过这种方法,这对我来说是固定的
猜你喜欢
  • 2019-04-14
  • 1970-01-01
  • 2019-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多