我打算使用.htaccess密码保护一个php脚本的目录我正在写,因为我不相信我的PHP技能来创建一个安全的登录,但我发现你不能使用AuthUserFile的相对路径,我不能一概而论。安全的目录密码保护没有.htaccess
如果你可以指示我一个安全的PHP登录脚本密码保护一个目录,我将非常感激。谢谢。
我打算使用.htaccess密码保护一个php脚本的目录我正在写,因为我不相信我的PHP技能来创建一个安全的登录,但我发现你不能使用AuthUserFile的相对路径,我不能一概而论。安全的目录密码保护没有.htaccess
如果你可以指示我一个安全的PHP登录脚本密码保护一个目录,我将非常感激。谢谢。
你可以做的一件事是将所有“秘密”文件保存在服务器webroot之外的目录中。所有对这些文件的访问都可以通过目录中的一个PHP脚本进行路由。事情是这样的:
http://www.example.com/protected-directory/access.php?file=/foo/document.doc
带有目录结构像这样:
+--+ /server_root
|
+--+ /web_root
| |
| +--+ /protected-directory
| +-- access.php
| +-- access-denied.html
|
+--+ /protected_root
|
+--+ /foo
+-- document.doc
在你access.php
你会做这样的事:
$file = $_REQUEST['file'];
if ($user->hasAccessTo($file)) {
readfile("/server_root/protected_root/$file");
} else {
readfile('access-denied.html');
}
现在,你必须小心你确保没有人用你的file
-参数螺丝,并通过像"../../../etc/passwd"
。另外,您可能希望确保您在上面的示例中发送了正确的标题,为了清晰起见,我省略了这些标题。
您可以使用AuthUserFile的绝对路径,并安排将该文件放置在Web服务器无法访问的位置。我已经做了很多年了。工作正常。
事情是,如果我分发这个,我不知道用户将在哪里放置脚本或他们在什么操作系统。所以我不认为我可以使用.htaccess? – tom 2009-05-31 20:44:46