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");