[转]老王:如何安全的include文件
大多数人会将一个单独的php文件当成配置文件,早些年的配置文件大多类似这样: ?php?? $config['a']=1;?? $config['b']=2;?? 这样include后。可以使用$config变量了,但慢慢的,却越来越发现这样不太好,于是就有了这种 ?php?? return?array(?? 'a'=1,'b'=2?
大多数人会将一个单独的php文件当成配置文件,早些年的配置文件大多类似这样:
这样include后。可以使用$config变量了,但慢慢的,却越来越发现这样不太好,于是就有了这种
1,'b'=>2?? );??这时候只要写$config = include('config.php'),就相当于和上面一样了。然后老王讲的就是指第二种情况。
原文在:http://huoding.com/2014/02/25/329
他举的例子是:
如果config.php里万一写了$debug=true;那么就会造成phpinfo()被输出了,与实际预料就有了偏差了。那么怎么安全的include呢?
老王说:
$config?=?call_user_func(function()?{?? ????return?include?'config.php';?? });??这样就利用局部变量把里面的一些可能污染外部的变量控制在匿名函数的作用域里。
然后我自己也测试了一下,确实。即使用$GLOBALS,也没有影响,而单独的php文件,如果你不是function ,也不能直接global $debug;这样是语法错误的。
所以。。。。如果为了安全,你还是和老王学一下吧。。。
原文地址:[转]老王:如何安全的include文件, 感谢原作者分享。
上一篇: php 这个错误如何改正?
下一篇: .NET应用函数定义与用法汇总
推荐阅读
-
如何关闭打开文件时提示的安全警告?打开文件安全警告取消四大方法详解
-
万兴优转如何加载视频和音频文件?加载视频和音频的三种方法介绍
-
万兴优转如何将CD转换成音频文件?CD转换成MP3音频文件的方法
-
如何关闭打开文件时提示的安全警告?打开文件安全警告取消四大方法详解
-
Linux系统中如何修改及设置文件系统的权限及安全
-
PHP如何创建文件夹(mkdir的用法,mkdirs的语法)【转】
-
CorelDRAW转曲之后的文件如何还原呢?
-
Win10打开文件出现安全警告如何取消?Win10打开文件取消安全警告的方法
-
电脑如何禁用U盘、屏蔽USB移动存储工具的使用保护电脑文件安全
-
360云盘如何把文件分享给好友?360安全云盘把文件分享给好友的操作方法