1

我的网站上有一个脚本,允许用户编辑/创建他们的帐户。我想限制通过浏览器(ex.www.mydomain.com/cp/page/login.php 或 www.mydomain.com/cp/home.php)直接访问文件,并且只允许 index.php 访问这些文件. 我尝试使用 .htaccess 但 index.php 无法访问它们。我也无法将它们移出 public_html 文件夹。它不包括文件夹。我怎样才能做到这一点?如果你需要别的东西,请现在让我。

4

2 回答 2

5

一种方法是使用includerequire从 PHP 调用:

include '/path/to/script.php';

include由服务器端的 PHP 处理,因此 Apache 块不会影响这一点。

然后,您可以保留现有<Files>指令以阻止对.php文件的访问:

<Files *.php>
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Files>

<Files index.php>
Order Allow,Deny
Allow from all
</Files>
于 2013-11-08T19:27:30.083 回答
2

PHP 中的一种常见方法是在其中定义某些index.php内容并在其他内容中进行检查:

//index.php
define('INDEX', true);

if(isset($_GET['page'])) {
    if($_GET['page'] == 'home') {
        include('cp/home.php');
    }
}


//home.php
if(!defined('INDEX') { die(); }
//more code
于 2013-11-08T17:21:55.480 回答