站長資訊網
最全最豐富的資訊網站

關于ThinkPHP空操作、空控制器處理

下面由thinkphp教程欄目給大家介紹關于ThinkPHP空操作、空控制器處理,希望對需要的朋友有所幫助!

ThinkPHP空操作、空控制器處理

當一個高手瀏覽你的網站的時候,你網站的報錯信息將給黑客提供攻擊你網站的信息。比如對于空操作、空控制器,你會暴露給給黑客你網站后臺所用的框架,黑客會根據框架本省的漏洞對你網站進行攻擊。因此,我們需要對空控制器、空操作進行處理,不給黑客留下任何蛛絲馬跡。

1. 空操作處理

首先看一下效果:

對于我在IndexController.class.php這個文件里我并沒有hello這個方法,擔任如果我試圖去訪問這個方式時,會報如下信息:

注:空操作的本質:一個對象(控制器)調用本身不存在的方法

關于ThinkPHP空操作、空控制器處理

對于懂ThinkPHP的開發人員來說,很容易看出此網站后臺用的是ThinkPHP框架。那么我們怎么來屏蔽這些問題呢?這就是我們今天要討論的內容。

解決方式1,在控制器里添加一個__call($method,$argvs)的方法

關于ThinkPHP空操作、空控制器處理

關于ThinkPHP空操作、空控制器處理

這樣,當你再次訪問hello方法是就會默認調用控制器的__call($method,$args)方法。

但是!當我們有很多個控制器的時候,我還要每個控制器都寫一個__call($method,$args)方法?顯然不合理!因此,我們需要把此方法寫到控制器的父類里,只需通過繼承的方式即可。我們走進Controller.class.php卻能找到__call()方法,因為TP已經幫我們做好了,在他的思想里,是看我們是否在控制器里定義了一個叫做_empty()的方法。如果定義了,則調用這個方法

普通控制器父類的位置:ThinkPHP/Library/Think/Controller.class.php

解決方式2

給空操作的名稱制作一個同名的模板出來,系統會自動調用該模板。

2. 空控制器處理

關于ThinkPHP空操作、空控制器處理

由于沒有BeijingController.class.php這個文件,所以報錯了!!

經過分析TP框架的源碼,我們有如下解決辦法

關于ThinkPHP空操作、空控制器處理

所以,我們需要定義一個空的控制器。當我們訪問不存在的控制器的時候,就會按照我們指定的錯誤給我們報錯。

關于ThinkPHP空操作、空控制器處理

關于ThinkPHP空操作、空控制器處理

好啦,空操作、空控制器就先說到這里O(∩_∩)O~~

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
91精品国产麻豆国产自产在线| 国产午夜精品一区二区三区嫩草 | 久久精品99久久香蕉国产色戒| 成人区精品人妻一区二区不卡| 拍国产真实乱人偷精品| 国产精品林美惠子在线播放 | 日韩国产成人资源精品视频| 国产日韩精品一区二区在线观看 | 久久国产日韩精华液的功效| 国产精品久久久久网站| 四虎精品在线视频| 国产精品毛片大码女人| 精品国产成人亚洲午夜福利| 国产成人精品男人的天堂538| 久久夜色精品国产噜噜噜亚洲AV| 久久青青草原精品影院| 国产在线拍揄自揄视精品不卡| 91精品国产91久久久久福利| 国产一级精品高清一级毛片| 久久久这里有精品中文字幕| 久久精品国产精品亚洲下载| 国产精品人成在线观看| 国产精品香蕉在线观看| 久久精品成人免费观看97| 国产精品一区二区av不卡| 亚洲国产主播精品极品网红| 九九免费久久这里有精品23| caoporn国产精品免费| 日韩精品无码免费视频| 日韩在线一区二区三区视频| 日韩去日本高清在线| 日韩a无吗一区二区三区| 日韩免费视频观看| 日韩一区二区三区在线精品| 免费视频精品一区二区| 亚洲国产精品一区二区第一页免| 亚洲第一区精品日韩在线播放| 九九热这里都是精品| 久久国产精品波多野结衣AV| 国内精品久久久久影院薰衣草| 九九热在线精品视频|