浏览器在显式返回401时显示403响应

时间:2017-05-17 20:39:10

标签: php apache .htaccess http apache2

我正在使用PHP的 http_response_code 在我的应用程序中返回各种回复。

但是,发送 401 响应代码会导致我在浏览器中看到 403 响应。以下是相关代码:

test.php的

<?php
    http_response_code(401);
?>

以下是回复: 401 stated

其他代码按预期工作。使用:

<?php
    http_response_code(404);
?>

结果为:404 stated (censorship mine ofc)

以下是我的尝试:

  • 用标题取代了http_response_code(401)(&#34; HTTP \ 1.0 401 Unauthorized&#34;)
  • 为401(无)的ErrorDocument规范提供每个Apache配置文件
  • test.php 所在的目录中添加了一个.htaccess文件,其中包含&#34; ErrorDocument 401&#34;我应该在401回复中看到这个&#34;

更多(可能)相关说明:

  • 我知道401响应通常用于请求身份验证(您应该获取该用户名和密码字段吗?)
  • 我在使用提供的用户名/ API密钥组合验证失败时使用它
  • 在用户通过验证后,当他们尝试访问他们没有权限的资源时,我也会在应用中稍后使用http_response_code(403)
  • 编辑#1:// 我通过CLI和cURL尝试了此操作并收到了标题&#34; HTTP / 1.1 403 Forbidden(服务器拒绝了指定的统一资源定位器(URL)。联系服务器管理员。)&#34;
  • 修改#2:// RewriteRule foo - [R=401]添加到文档根目录中的.htaccess文件中 - 访问/foo

我的最后一个问题是 - 到目前为止我检查过哪些可能导致这种行为?

0 个答案:

没有答案