如何阻止PHP文件到全局访问

时间:2011-07-21 06:15:59

标签: php

我有一些包含文件,我不想通过HTTP公开它们。它们仅用于包含在其他PHP文件中。

我应该配置.htaccess文件并添加一些行来指定吗?

提前致谢...

3 个答案:

答案 0 :(得分:2)

您可以使用.htaccess规则或将它们放在您的网络目录之外!

编辑:

看来你正在寻找一个简单的答案。你可以用谷歌搜索它,但这里有一个,试试吧:

<Files filename.php>
  order allow,deny
  deny from all
</Files>

答案 1 :(得分:2)

您应该从不将您不希望从外部访问的文件放入可从外部访问的目录,或简而言之:将文件移到文档根目录之外。

让我们说

/path/to/htdocs/index.php
/path/to/privateFiles/include.php

index.php中,您可以使用

require dirname(__FILE__) . '/../privateFiles/include.php';

如果您想让它更具便携性,可以将两个目录彼此分开。通常privateFiles/中的文件无需了解htdocs中的文件。在index.php中,您可以执行类似

的操作
define('INCLUDES_PATH', '/path/to/privateFiles');

然后在您的应用程序中的任何位置

require INCLUDES_PATH . '/include.php';

如果要移动私人文件,只需更改index.php中的常量。

答案 2 :(得分:1)

如果您的包含文件是PHP,请在索引/主代码中定义一个常量,在包含文件中检查它

的index.php

<?php
define('INDEX_LOADED',TRUE);
include('include.php');
?>

Include.php

<?php
if(!defined('INDEX_LOADED'))
  die('not to be accessed directly');
// rest of code here
?>