简单的安全问题:PHP包含

时间:2010-02-08 04:35:19

标签: php security include

我的样本index.php

include 'class.php';
$x = new class;
include $_GET['page'].'.php'; //checks if isset file_exists and in_array of valid file names before including;

我想确保无法直接访问所包含的页面。下面是我在index.php中包含的文件的第一行代码上的一些代码示例。

我尝试过:(如果没有包含在index.php中)

if($_SERVER['SCRIPT_NAME']!='/index.php') die;

和(如果索引中定义的类未设置为die);

if(!isset($x)) die;

直接查看时,您最喜欢将页面包含在php中的方法是什么?

2 个答案:

答案 0 :(得分:4)

define()defined()

或者只是将它们放在文档根目录之外。

答案 1 :(得分:2)

if($_SERVER['SCRIPT_FILENAME'] == __FILE__) {
     die("Go Away");
 }

抱歉,将其更新为正确。