htaccess,PHP授权检查


htaccess & php check for authorization

我有一个

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返回true每次用户请求

http://example.com/DL/*

?

您可以使用mod_rewrite将所有请求路由到index.php。

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

另一个建议是只在你的web根目录下公开index.php,其余的代码在公开可见的文件夹之外。这样,当您忘记正确配置apache时,您还可以防止有人获取您的所有代码库。