我有一个
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/*
答案 0 :(得分:1)
您可以使用mod_rewrite将所有请求路由到index.php 请参阅this example。
这样您就可以使用Front Controller Pattern
这基本上意味着index.php将是您的路由器进入代码的其他部分。这允许您正在寻找的访问控制,但也可以让您拥有其余代码的良好结构。
另一个建议是仅在您的Web根目录中公开index.php,并将其余代码置于公开可见文件夹之外。这样,当您忘记正确配置apache时,也会阻止某人获取所有代码库。