出于安全性考虑,需要在某些页面中屏蔽或者改写phpinfo().但是万恶的php不支持方法覆盖,覆盖内置方法提示错误,无奈下请教各位!
只是局部需要屏蔽,默写地方还是需要使用phpinfo调试的,而且在配置中修改也不太现实,毕竟部分虚拟主机不支持直接修改php.ini,请教是否可以直接在php文件中屏蔽或者替换掉phpinfo()方法的方法???
只是局部需要屏蔽,默写地方还是需要使用phpinfo调试的,而且在配置中修改也不太现实,毕竟部分虚拟主机不支持直接修改php.ini,请教是否可以直接在php文件中屏蔽或者替换掉phpinfo()方法的方法???
ini_set('output_handler', 'mb_output_handler');
echo "\noutput_handler => " . ini_get('output_handler') . "\n";
?>
其实如果你程序中没有用到phpinfo不就和没有一样。
至于如果是被黑了放上去的。那也没办法,是程序的问题。
其实你百度一下phpinfo,看看各个网站的phpinfo,还是蛮舒服的
Fatal error: Cannot redeclare phpinfo()重写出错。。
<?php
ini_set('output_handler', 'mb_output_handler');
echo "\noutput_handler => " . ini_get('output_handler') . "\n";
function phpinfo(){
echo 'power by Kee Simply Efficient Sulid 0.1';
}
phpinfo();
ini_set("date.timezone","America/New_York");
echo "date.timezone-->>".ini_get("date.timezone")."<br/>";
//date.timezone-->>America/New_York
?>你的php.ini有普通用户执行权限吗?
为什么"需要在某些页面中屏蔽或者改写phpinfo()"?
有什么安全问题?
$phpinfo = function (){
echo 'hello world!';
}
phpinfo();
$phpinfo();
调试显示Parse error: syntax error, unexpected 'phpinfo' (T_STRING)
呵呵,刚刚升级到了php5.4.0,不知道是我本机配置的原因还是什么。至少是一个暂时的解决方法吧麻烦各位给个解答,如果是本机配置的原因,继续寻求答案。00000
另外回答一下楼上(helloyou0)大胸的提问:
首先,phpinfo只是一个举例,毕竟它简单,可以直接调试,需要屏蔽的实在是太多了,如:exec。
然后,我做这个是因为要被模版引用,被前端引用(写在模板引擎的安全规则里面的)不希望美工因为误操作而出现一些漏洞
最后,咱实在是菜鸟,对自己的程序实在没啥信心。哈哈哈
谢谢各位大兄的细致解答,可惜分实在是太少了ooooo