摘要:比如對于空操作空控制器,你會暴露給給黑客你網站后臺所用的框架,黑客會根據框架本省的漏洞對你網站進行攻擊。因此,我們需要對空控制器空操作進行處理,不給黑客留下任何蛛絲馬跡。好啦,空操作空控制器就先說到這里
1. 空操作處理當一個高手瀏覽你的網站的時候,你網站的報錯信息將給黑客提供攻擊你網站的信息。比如對于空操作、空控制器,你會暴露給給黑客你網站后臺所用的框架,黑客會根據框架本省的漏洞對你網站進行攻擊。因此,我們需要對空控制器、空操作進行處理,不給黑客留下任何蛛絲馬跡。
首先看一下效果:
對于我在IndexController.class.php這個文件里我并沒有hello這個方法,擔任如果我試圖去訪問這個方式時,會報如下信息:
注:空操作的本質:一個對象(控制器)調用本身不存在的方法
對于懂ThinkPHP的開發人員來說,很容易看出此網站后臺用的是ThinkPHP框架。那么我們怎么來屏蔽這些問題呢?這就是我們今天要討論的內容。
這樣,當你再次訪問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~~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22315.html
摘要:相關信息,面向過程,面向對象,輕量級。輕量級功能實用,面向過程和面向對象混合開發。找到文件為文件名為驗證碼類沒有在自動加載類中載入,需要手動載入。底層的和會影響原始的框架中的引入,可以使用框架中提供的引入。 不使用框架的問題 在實際工作中,如果不使用框架會遇到的問題。 程序項目生命時間非常短(維護性,生命力弱) 分共協作開發項目,彼此代碼風格不一致。 開發程序,喜歡挖坑。 開發者離職...
摘要:目前的業務訪問量數千萬,后端臺,平均使用率。產生的問題長連接數超過時,性能會下降。很可惜,我們目前使用的青云,目前尚不能實現超高可用,也不能實現無縫擴容,私網內的網絡傳輸性能延遲都有很大優化空間。經測試,性能有的提升。 需求分析 目前的業務全站使用ThinkPHP 3.2.3,前臺、后臺、Cli、Api等。目前的業務API訪問量數千萬,后端7臺PHP 5.6,平均CPU使用率20%。 ...
摘要:數據庫文件已經上傳,安裝配置就可以使用簡稱即基于的后臺管理系統官方文檔地址在線體驗地址賬戶密碼線上倉庫在線地址源代碼下載克隆直接下載本地部署運行環境要求建議配置虛擬域名若不清楚,請自行解決之,方便接下來開展你的開發工作。 喜歡就Star,不只是Fork; 想要分享的動機才是驅動力,而技術僅僅是一種方法。 數據庫文件已經上傳,安裝配置就可以使用 showImg(https://seg...
摘要:數據庫文件已經上傳,安裝配置就可以使用簡稱即基于的后臺管理系統官方文檔地址在線體驗地址賬戶密碼線上倉庫在線地址源代碼下載克隆直接下載本地部署運行環境要求建議配置虛擬域名若不清楚,請自行解決之,方便接下來開展你的開發工作。 喜歡就Star,不只是Fork; 想要分享的動機才是驅動力,而技術僅僅是一種方法。 數據庫文件已經上傳,安裝配置就可以使用 showImg(https://seg...
閱讀 2958·2021-11-08 13:20
閱讀 1031·2021-09-22 15:20
閱讀 660·2019-08-30 15:53
閱讀 1964·2019-08-30 15:43
閱讀 1278·2019-08-29 17:21
閱讀 540·2019-08-29 12:15
閱讀 2375·2019-08-28 17:51
閱讀 3142·2019-08-26 13:26