常見的php框架:laravel和thinkphp和yii
這里以thinkphp為例
thinkphp目錄訪問設置
這里只找到了這個3.多的源代碼,沒找點5.的,湊合一下
鏈接:GitHub - top-think/thinkphp: ThinkPHP3.2 ——基于PHP5的簡單快速的面向對象的PHP框架
打開thinkphp的配置文件
我們訪問主頁顯示笑臉就是引用的這個文件,修改它主頁也會變成別的,所以主頁是由這個文件所控制的
而這個框架是有一個引用關系的,直接訪問主頁是笑臉界面,那通過url是怎么樣的引用關系
http://127.0.0.1/thinkphp-master/thinkphp-master/index.php/Home/index/index
而thinkphp的設計理念
就是入口文件/模塊/控制器/參數
index.php/Home/index/index
index.php入口文件??Home模塊??index控制器??index參數
我現在在主頁文件多添加個參數,訪問我添加的參數,主頁也會發生變化
就變成了小迪
也可以多添加一個控制器及添加控制器的參數,造成頁面不同
也可以正常的傳參和顯示
實戰意義
看到這樣的地址就可以看出來,c代表的模塊,a代表的控制器,id代表的參數
這種看一下就很可能是框架開發的網站
舉一反三,修改自己的tk
在創建一個模塊xiaodi,第一個字母要大寫
http://127.0.0.1/thinkphp-master/thinkphp-master/index.php/Xiaodi/index/xiaodi?x=1
訪問這個目錄,控制器還是index
成功輸出來,這個是把模塊改了,控制器并沒有改
3.幾的tk控制器有命名規則
改了一下才可以訪問
tkphp的sql注入過濾
如果只是直接寫一個變量接受提交方式進行傳參,執行sql語句,沒有過濾什么的那么一定有sql注入問題
這種就是$id=$_GET['x']??
基礎寫法,會造成sql問題
and 1=2就會被接受執行
按照tk手冊的官方寫法
這樣在后面在輸入and 1=2就不會被帶入執行,很安全,沒有sql問題,按照tk的官方寫法,tk就調用自身框架別的php對傳參進行過濾,嚴格過濾
經過了那么多文件的過濾
tk使用手冊的查詢sql寫法
使用官方寫法就很安全,
也是很安全
然后這種最好就看看有沒有網上公開的漏洞
果然日志泄露
jian
kang