Hea*_*ath 5 java basic-authentication required
对于初学者; 我在编码方面不那么有文化.
我对如何在特定目录或站点上触发/或抛出基本/标准"需要身份验证"对话框以及用户将在其中输入的凭据以及与另一个数据库中的另一个数据库进行检查的脚本非常感兴趣网站.
即像那些"检查谁阻止你在msn"网站,他们从他们的网站获得你的凭据,他们检查Hotmail数据库或服务器,并告诉你凭据是否不正确(再试一次)或如果它是正确的,它会重定向到由管理员实施的特定网站.(在这种情况下Hotmail联系人列表)
此外,当它检查凭据是否正确时,如何使脚本将这些凭据存储到特定的.txt文件或文件夹中?!
唯一的区别是我只想将它作为基本身份验证对话框,就像这里的例子一样但是我想在我的网站上实现它.
我希望我能理解.
非常感谢你提前.
您需要向浏览器发送 401 响应代码,这将使浏览器提示输入用户名和密码。下面是一个取自PHP 手册的 PHP 示例:
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
} else {
echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
?>
Run Code Online (Sandbox Code Playgroud)
您应该能够使用您选择的语言执行相同的操作,尽管您需要研究用户名和密码变量以您使用的语言存储的位置。
作为替代方案,您也可以在 Web 服务器中进行配置。这样,Web 服务器就会处理身份验证,您只需对应用程序进行编程即可获取当前用户名,该用户名通常可以在“REMOTE_USER”环境变量中找到。在 Apache 中,您可以限制对特定文件夹的访问,如下所示:
<Directory /usr/local/apache/htdocs/secret>
AuthType Basic
AuthName "Restricted Files"
# (Following line optional)
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require user rbowen
</Directory>
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅有关身份验证和访问控制的 Apache 文档。即使您使用不同的 Web 服务器,请放心,这是 Web 服务器的常见功能。我确信您将能够在您使用的任何网络服务器中找到等效的功能。