0

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

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

4

2 回答 2

2

一种可能的方法...

假设您要保护“受保护”目录。

使用.htaccess, 通过放置来限制对该目录的所有访问

Options -Indexes

# Block External Access
deny from all

.htaccess在“受保护”目录中的文件中。

接下来,使用 RewriteRule 捕获所有 URL 到主.htaccess文件中的“受保护”目录。例如:

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

通常,RewriteRule 应该捕获所有进入“受保护”目录的 URL,并将它们传输到 accessprotected.php 页面。

在 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
}
于 2013-04-05T21:15:10.157 回答
0

如果此人未登录,您需要这样做,以便网站上的任何登录页面将您重定向回初始登录页面。此登录页面需要是 HTML 才能设置样式。

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

于 2013-04-05T19:08:53.167 回答