Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.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_Include - Fatal编程技术网

Php 这是停止直接文件访问的安全方法吗?

Php 这是停止直接文件访问的安全方法吗?,php,include,Php,Include,我把它放在我所有的PHP文件中,这是一种安全的方法还是可以绕过它?你应该把核心文件放在网站根目录之外 例如,如果您的公共文件位于:/var/www/site0/public\u html,则将所有核心文件放在/var/www/site0/目录下 另一种方法是使用常量。很可能您有一个引导脚本,其中包含所有文件(这就是为什么您需要直接访问保护) 在引导脚本顶部定义一个常量:Define('BOOTSTRAPPED',1) 然后将这一行放在脚本顶部,您希望阻止直接访问:if(!defined('BOO

我把它放在我所有的PHP文件中,这是一种安全的方法还是可以绕过它?

你应该把核心文件放在网站根目录之外

例如,如果您的公共文件位于:
/var/www/site0/public\u html
,则将所有核心文件放在
/var/www/site0/
目录下

另一种方法是使用常量。很可能您有一个引导脚本,其中包含所有文件(这就是为什么您需要直接访问保护)

在引导脚本顶部定义一个常量:
Define('BOOTSTRAPPED',1)


然后将这一行放在脚本顶部,您希望阻止直接访问:
if(!defined('BOOTSTRAPPED'))exit

您不能将它们放在web服务器的根目录之外吗?
<?php if(basename($_SERVER["SCRIPT_FILENAME"]) == basename(__FILE__)) { header ("HTTP/1.1 404 Not Found");   exit; } ?>