Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 阻止人们访问您的类并直接包含文件_Php_Security - Fatal编程技术网

Php 阻止人们访问您的类并直接包含文件

Php 阻止人们访问您的类并直接包含文件,php,security,Php,Security,我正在制作自己的MVC框架,我记得在phpBB论坛索引页面代码中看到类似的内容: define('IN_PHPBB', true); 然后,在仅包含但不直接访问的文件中,其顶部有: if(!defined('IN_PHPBB')) { die(); } 我想知道这是否是必要的,尤其是对于类文件,因为如果直接访问它们,它们将不会运行,因为它们没有实例化。我建议您将一个文件.htaccess with with with the directivedeny from all放入包含php

我正在制作自己的MVC框架,我记得在phpBB论坛索引页面代码中看到类似的内容:

define('IN_PHPBB', true);
然后,在仅包含但不直接访问的文件中,其顶部有:

if(!defined('IN_PHPBB')) {
    die();
}

我想知道这是否是必要的,尤其是对于类文件,因为如果直接访问它们,它们将不会运行,因为它们没有实例化。

我建议您将一个文件.htaccess with with with the directivedeny from all放入包含php类文件的文件夹中。
官方文档是

我不认为这会导致任何问题,但我更喜欢在我的所有文件中添加这些简单的行,并限制用户直接访问任何无用的文件。是的,我想这不会导致任何问题,所以我想我会这样做。如果您的类不能手动包含,你的框架被设计破坏了。我认为使用
.htaccess
来阻止访问不是一个好主意。默认情况下,整个web应用程序应该在
deny from all
模式下工作,并且只有某些(/public)目录及其内容可以访问(使用
.htaccess
,或者更好的是,使用Apache conf文件-阻止覆盖以提高性能)。