服务器端登录提示框

时间:2013-08-21 13:16:34

标签: php javascript authentication login prompt

例如,当我登录路由器的固件时,会收到用户名和密码的提示框,这是怎么做到的?据我所知,JavaScript的prompt()只返回一个值..我知道它必须是服务器端,因为页面继续“加载”,直到我关闭该框。在关闭框之前,我也无法在浏览器中切换标签。

用PHP做这样的事情有可能吗?这是怎么做到的?

提前致谢

3 个答案:

答案 0 :(得分:4)

使用基本HTTP身份验证完成此操作,为此您需要创建用户/密码文件并告诉服务器文件夹需要使用基本HTTP身份验证。这可以在服务器配置或.htaccess

中完成

答案 1 :(得分:3)

请查看PHP文档的此页面 - HTTP authentication with 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>";
}
?>

基本上,您需要做的就是发送正确的标题,客户端的浏览器将负责使用正确的字段呈现本机弹出窗口。

用户提交详细信息后,您的代码可以使用$_SERVER['PHP_AUTH_USER']$_SERVER['PHP_AUTH_PW']变量来验证登录信息。

答案 2 :(得分:1)

Apache作为网络服务器,您可以使用 htaccess password protection

进行此操作

该协议名为 http basic authentication