PHP中防止直接访问或查看或下载config.php文件的方法

或是,PHP的设计本身就避免直接查看文件内容的情况? 从安全角度考虑,这个系统级的文件应该做什么保护措施?

网友完善的答案

经调研,得出以下常用方法:

1 在程序中定义一个标识变量

define('IN_SYS', TRUE);

2 在config.php中获取这变量

if(!defined('IN_SYS')) { 
exit('禁止访问'); 
} 

例如dedecms中被调用的文件的开头都有这段代码

if(!defined('DEDEINC'))
{
   exit("Request Error!");
}

然后在公共调用文件中例如 plus/book.php

<?php 
require_once(dirname(__FILE__)."/../include/config_base.php");
$conn=mysql_connect ($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);
mysql_select_db($cfg_dbname);

调用config_base.php中如下代码

error_reporting(E_ALL || ~E_NOTICE);

define('DEDEINC',dirname(__FILE__));
//载入用户配置的系统变量
require_once(DEDEINC."/config_hand.php");