htaccess& php检查授权

时间:2013-03-24 15:11:38

标签: php .htaccess

我有一个

http://example.com/DL/

任何人都可以免费访问的目录,现在我想拒绝未经授权的用户访问 所以我用代码

写了非常简单的index.php
<?php
include('config.php');
session_start();
$result = (mysql_query("SELECT * FROM accounts WHERE hash='".$_SESSION['hash']."' ");
$row = mysql_fetch_array(result);
if($row['access']) {
    return true;
} else {
    header("location: /login.php");
}
?>

问题:有没有办法设置.htaccess来检查每次用户请求时index.php是否返回

http://example.com/DL/*

1 个答案:

答案 0 :(得分:1)

您可以使用mod_rewrite将所有请求路由到index.php 请参阅this example

这样您就可以使用Front Controller Pattern
这基本上意味着index.php将是您的路由器进入代码的其他部分。这允许您正在寻找的访问控制,但也可以让您拥有其余代码的良好结构。

另一个建议是仅在您的Web根目录中公开index.php,并将其余代码置于公开可见文件夹之外。这样,当您忘记正确配置apache时,也会阻止某人获取所有代码库。