PHP 版本 5.3.10
我在 Windows 网络上使用 Apache,当我调用 $_SERVER['REMOTE_USER'] 时,它工作正常,直到用户输入密码到期宽限期(密码到期前您有 x 天),当他们看到的只是这条消息:
需要授权服务器无法验证您是否有权访问所请求的文档。您提供了错误的凭据(例如密码错误),或者您的浏览器不了解如何提供所需的凭据。
有什么方法可以捕捉到这一点并向用户提供更有用的信息?
更新 感谢 Fred 提供的有用信息。我将以下行添加到 .htaccess
ErrorDocument 401 /401.php
并将 401.php 添加到与 .htaccess 相同的文件夹中,我在尝试访问该站点时立即收到以下错误:
需要授权 此服务器无法验证您是否有权访问所请求的文档。要么您提供了错误的凭据(例如,错误的密码),要么您的浏览器不了解如何提供所需的凭据。
此外,在尝试使用 ErrorDocument 处理请求时遇到 401 Authorization Required 错误。
作为测试,我还添加了
ErrorDocument 404 /404.php
并正确地给出了未找到替代页面的消息。
我不确定“然后要捕获错误,您只需使用函数写入文件”是什么意思。你有一个例子吗?以下是我用来获取用户用户名的代码:
$domain = $_SERVER['REMOTE_USER'];
$domainarray = explode("\\",$domain);
$username = strtolower ($domainarray[1]);