如何向htaccess发送用户名/密码?

时间:2014-05-23 01:14:06

标签: php apache .htaccess mod-rewrite

有一种方法可以使用php将用户名和密码发送到受.htaccess / htpasswd保护的目录吗?而不是必须在可怕的弹出窗口中输入用户名和密码?

我有一个登录页“在外面”受htaccess / htpasswd保护的区域,并希望访问受htaccess / htpasswd保护的文件“inside”目录通过在我的PHP脚本中输入用户名和密码,而不是输入我尝试访问受保护区域时出现的弹出窗口。

有没有办法用php和htaccess来做到这一点?

1 个答案:

答案 0 :(得分:1)

要扩展我的评论,请考虑以下PHP脚本,该脚本会读取受保护的文件,并在提供正确的密码foobar时将其提供给用户。

请注意,如果您的连接未超过SSL,则您将以明文形式发送密码。

   <?php

    $pass = $_POST['pass'];
    $filename = "MyFoo.txt";

    $file = "path/to/protected/directory/$filename";

    if($pass == "foobar")
    {
        header('Content-type: application/octet-stream');
        header("Content-Disposition: attachment; filename=\"$filename\"");
        header('Content-Transfer-Encoding: binary');
        header('Content-Length: ' . filesize($file));
        ob_clean();
        flush();
        readfile($file);
    }
    if(isset($_POST))
    {?>
        <form method="POST" action="">
            Password <input type="password" name="pass"></input>
            <input type="submit" name="submit" value="Get File" ></input>
            </form>
    <?}
    ?>