【问题标题】:Get header [Authorization] php/apache获取标头 [授权] php/apache
【发布时间】:2014-07-31 07:35:27
【问题描述】:

我正在开发一个 php 函数以避免对 Intranet 应用程序进行手动身份验证。

我目前使用 apache_request_headers() 来获取标头和 $headers['Authorization'] 来读取授权。 在我的 wamp 的服务器(php 5.5.12 和 apache 2.4.9)上很好,但在 prod(PHP 版本 5.3.3 和 Apache 2.2.15(CentOS))上不行。我在 Internet Explorer 8 上。

所以我需要你的帮助:我应该检查什么?如何在 Apache 2.2.15 (CentOS) 上使用 php 获得 apache 标头授权?

【问题讨论】:

    标签: php apache centos authorization


    【解决方案1】:

    把它放在你的 或 .htaccess 中:

    CGIPassAuth On
    

    https://httpd.apache.org/docs/2.4/en/mod/core.html#cgipassauth

    【讨论】:

    • 这可以作为评论安全地发表
    【解决方案2】:

    大多数客户端标头都可以通过$_SERVER['HTTP_xxx'] 访问,例如$_SERVER['HTTP_ACCEPT_ENCODING']。这也适用于非标准标头,并且应该适用于所有 Web 服务器,而不是像您的示例代码那样依赖于 Apache。

    但是,Authorization 标头是一个例外。 PHP 在接收到请求时对该标头进行解码,并将用户名和密码分别放在 $_SERVER['PHP_AUTH_USER']$_SERVER['PHP_AUTH_PW'] 中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-05
      • 2017-03-22
      • 2021-06-23
      • 2014-12-20
      • 2016-09-14
      • 2017-07-07
      • 1970-01-01
      • 2016-09-06
      相关资源
      最近更新 更多