我有一个网页,其中包含许多php文件,我想知道如何阻止用户单独查看php include文件?
一种流行的方法是在包含文件中定义一个常量:
define ("INCLUDE_OK", true);
然后要检查每个子包含文件:
if (!defined("INCLUDE_OK")) die ("This file can't be executed directly");
另外,正如@mikerobi在他现已删除的回答中所说,将include文件存储在Web根目录之外的文件夹中。
include("../folder/name.php");
- Pekka<?php
define('AAA',true);
?>
<?php
defined('AAA') or die('Access denied.');
?>
或者,您可以使用htaccess文件。
你的包含 PHP 文件不应该在没有调用函数的情况下执行任何操作,而且你应该确保文件扩展名是 php 或者其他使用 php 编译的扩展名(例如 includes.php)。如果你有一个叫做 includes.inc 的文件,一些服务器可能会直接显示该文件的源代码,这本身就存在安全漏洞。如果你遵循这些规则,甚至不需要检查其他变量等。
//On the main page
$check = true;
include(../someFile.php);
//someFile.php
if($check == true){
//Display your content
}