我使用htaccess在我的网站上使用密码保护了一个目录。当我输入文件夹的URL时,我会得到一个简单的弹出框,我可以输入我的信息。一切都很好。但我真正想做的是我有一个html / php / mySQL表单,你可以登录,而不是弹出框。有没有办法做到这一点? 注意:我要保护的目录有数百个文件。
我知道如何创建表单,查询数据库,我只想用html表单替换弹出窗口。
答案 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或类似的东西进行样式设置。它们依靠内置的浏览器控件来返回默认对话框。