将基本身份验证转发到表单?

时间:2010-08-11 19:57:20

标签: php authentication forms-authentication basic-authentication

好吧,不过我还不知道是否有人试图这样做。

我有一个网站让我们称之为localhost。目前。我在那个页面上有一个表格。但是,我希望能够跳过表单,并使用基本身份验证方法将我的数据重定向到表单。例如:http://admin:admin@localhost会将用户名和密码发送到我的表单。

如果没有我修改整个网站,有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

Very easy using the $_SERVER array.

<form>
  <input name="username" value="<?php echo $_SERVER['PHP_AUTH_USER']; ?>">
  <input type="password" value="<?php echo $_SERVER['PHP_AUTH_PW']; ?>">
</form>

答案 1 :(得分:1)

您无需将其发送到表单。

你可以做这样的事情

if(!isset($_SESSION['admin'])){
        //we are not logged in yet,
        if (!isset($_SERVER['PHP_AUTH_USER'])) {
                header('WWW-Authenticate: Basic realm="Admin"');
                header('HTTP/1.0 401 Unauthorized');
                echo 'Please Contact us if you are having problems logging in';
                exit;
        } else {
                //not their first time through
                //check their username and password here
                $username = trim($_SERVER['PHP_AUTH_USER']);
                $password = trim($_SERVER['PHP_AUTH_PW']);
                ... your auth code here....