关于ThinkPHP的空分组404输出和X-Powered-By问题

浏览:1208 发布日期:2015/07/19 分类:心情闲聊 关键字: 空分组 X-Powered-By
用TP搞了个东西给一个公司,本着谨慎的态度,在Common控制器里面增加了baseController.class.php,并且所有的类引用baseController.class.php,并继承了baseController,在里面增加了一个_empty方法,解决了空操作的问题。接下来在每个分组增加EmptyController.class.php解决了空控制器的问题。唯有空分组没有想明白怎么处理,官方文档没有相关说明。官网提到这个也是少之又少。
最后,通过查看核心里面的Lang语言包得知了“无法加载模块”对应的下标,然后就从Dispatcher.class.php找到了报错的E(L('_MODULE_NOT_EXIST_').':'.MODULE_NAME),知道这个就好办了!!直接注释,并在下面利用exit函数输出了404页面的html代码。一定要在输出后阻止继续操作,不然系统会去请求控制器,以寻求实例化……结果就还是会报错!!
接下来是X-Powered-By的问题,我很不情愿去修改php.ini,所以呢,我直接在入口文件利用ini_set设置,可是没有奏效。我又在入口文件试了header_remove函数,还是没有成功地把X-Powered-By:ThinkPHP移除掉。到了这里,我就明白不是php.ini的问题了,而是ThinkPHP的底层文件问题,果不其然,在View.class.php里面的解析方法找到了header('X-Powered-By:ThinkPHP');,果然改了!!我不想说什么其他,单从安全角度,我就不想保留它!!官方最好移除它吧,至少可以一定程度提升框架的安全!
最佳答案
评论( 相关
后面还有条评论,点击查看>>