例如,当我登录到路由器的固件时,我会收到一个用户名和密码的提示框,这是如何完成的?据我所知,JavaScript的prompt()
只返回一个值。。我知道它一定是服务器端的,因为页面会继续"加载",直到我关闭盒子。在关闭该框之前,我也无法在浏览器中切换选项卡。
有可能用PHP做这样的事情吗?这是怎么做到的?
提前感谢
使用基本HTTP身份验证完成,为此,您需要创建一个用户/密码文件,并告诉服务器文件夹需要使用基本HTTP验证。这可以在服务器配置或.htaccess 中完成
看看这一页的PHP文档-使用PHP 进行HTTP身份验证
以下是他们给出的示例代码:
<?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>";
}
?>
基本上,您所需要做的就是发送正确的标题,客户端的浏览器将负责呈现具有正确字段的本地弹出窗口。
一旦用户提交了详细信息,您的代码就可以使用$_SERVER['PHP_AUTH_USER']
和$_SERVER['PHP_AUTH_PW']
变量验证登录。
使用Apache
作为web服务器,您可以使用htaccess密码保护
该协议被称为http基本身份验证