用html表单替换Htaccess弹出框?

时间:2013-04-05 18:55:44

标签: php mysql .htaccess password-protection

我使用htaccess在我的网站上使用密码保护了一个目录。当我输入文件夹的URL时,我会得到一个简单的弹出框,我可以输入我的信息。一切都很好。但我真正想做的是我有一个html / php / mySQL表单,你可以登录,而不是弹出框。有没有办法做到这一点? 注意:我要保护的目录有数百个文件。

我知道如何创建表单,查询数据库,我只想用html表单替换弹出窗口。

2 个答案:

答案 0 :(得分:1)

一种可能的方法......

假设您要保护目录" protected"。

使用.htaccess,通过添加

来限制对此目录的所有访问
Options -Indexes

# Block External Access
deny from all

位于"受保护"内的.htaccess文件中。目录

接下来,使用RewriteRule来捕获所有进入" protected"的网址。主.htaccess文件中的目录。例如:

RewriteEngine on
RewriteRule ^protected/(.*) accessprotected.php?url=$1

通常情况下,RewriteRule应该捕获所有进入" protected"目录并将它们传输到accessprotected.php-page。

在accessprotected.php页面上,检查登录状态。

if (isset($_SESSION['LoggedIn'])) { // or something like this
    /*
       Here, you should check what file type is being
       requested and handle this properly.
    */
} else {
    // put code for login form here
}

答案 1 :(得分:0)

您需要进行此操作,以便网站上的任何目标网页都会将您重定向回初始登录页面(如果此人未登录)。此着陆页需要为HTML才能进行样式设置。

.htaccess 控件是Apache的一个功能,无法使用PHP或CSS或类似的东西进行样式设置。它们依靠内置的浏览器控件来返回默认对话框。