我有一些包含文件,我不想通过HTTP公开它们。它们仅用于包含在其他PHP文件中。
我应该配置.htaccess
文件并添加一些行来指定吗?
提前致谢...
答案 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
?>