关于ThinkPHP空操纵、空控制器处置惩罚_PHP开发框架教程
2020-09-19php框架搜奇网152°c
A+ A-ThinkPHP空操纵、空控制器处置惩罚
当一个高手阅读你的网站的时刻,你网站的报错信息将给黑客供应进击你网站的信息。比方关于空操纵、空控制器,你会暴露给给黑客你网站背景所用的框架,黑客会依据框架本省的破绽对你网站举行进击。因而,我们须要对空控制器、空操纵举行处置惩罚,不给黑客留下任何千丝万缕。
1. 空操纵处置惩罚
起首看一下结果:
关于我在IndexController.class.php这个文件里我并没有hello这个要领,担负假如我试图去接见这个体式格局时,会报以下信息:
注:空操纵的实质:一个对象(控制器)挪用自身不存在的要领
关于懂ThinkPHP的开发人员来讲,很轻易看出此网站背景用的是ThinkPHP框架。那末我们怎样来屏障这些问题呢?这就是我们本日要议论的内容。
处理体式格局1,在控制器里增加一个__call($method,$argvs)的要领
如许,当你再次接见hello要领是就会默许挪用控制器的__call($method,$args)要领。
然则!当我们有很多个控制器的时刻,我还要每一个控制器都写一个__call($method,$args)要领?明显不合理!因而,我们须要把此要领写到控制器的父类里,只需经由过程继续的体式格局即可。我们走进Controller.class.php却能找到__call()要领,因为TP已帮我们做好了,在他的头脑里,是看我们是不是在控制器里定义了一个叫做_empty()的要领。假如定义了,则挪用这个要领
一般控制器父类的位置:ThinkPHP/Library/Think/Controller.class.php
处理体式格局2
给空操纵的称号制造一个同名的模板出来,体系会自动挪用该模板。
2. 空控制器处置惩罚
因为没有BeijingController.class.php这个文件,所以报错了!!
经由剖析TP框架的源码,我们有以下处理办法
所以,我们须要定义一个空的控制器。当我们接见不存在的控制器的时刻,就会根据我们指定的毛病给我们报错。
好啦,空操纵、空控制器就先说到这里O(∩_∩)O~~
以上就是关于ThinkPHP空操纵、空控制器处置惩罚的细致内容,更多请关注ki4网别的相干文章!