2013-08-21 71 views
1

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

是否有可能使用PHP来做这样的事情?这是如何完成的?

在此先感谢

回答

3

其使用基本HTTP认证,为完成这件事您需要创建用户/密码文件并告诉服务器文件夹需要使用基本HTTP认证。这可以在服务器配置或在的.htaccess

+0

但是,怎么样!?怎么样? –

2

看看这个页面中的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']变量。