php的轉義字符有哪些 當下最流行的PHP開發(fā)框架有哪些?
當下最流行的PHP開發(fā)框架有哪些?PHP是一種非常強大的動態(tài)開發(fā)語言,具有易用、專注于web開發(fā)、應用廣泛、開發(fā)成本低、開發(fā)效率高等諸多優(yōu)點。隨著PHP的不斷成熟和發(fā)展,各種PHP開發(fā)框架層出不窮。我
當下最流行的PHP開發(fā)框架有哪些?
PHP是一種非常強大的動態(tài)開發(fā)語言,具有易用、專注于web開發(fā)、應用廣泛、開發(fā)成本低、開發(fā)效率高等諸多優(yōu)點。隨著PHP的不斷成熟和發(fā)展,各種PHP開發(fā)框架層出不窮。我來介紹幾個市面上比較流行的PHP框架。
1、拉威爾
Laravel是一個非常有表現(xiàn)力和優(yōu)雅的PHP框架,官方稱之為Web Craftsman 的PHP框架。它具有簡單快速的路由引擎、強大的依賴注入容器、數(shù)據(jù)庫ORM、數(shù)據(jù)庫獨立模式遷移、實時事件廣播等優(yōu)點。
2、Yii
Yii是一個快速、安全、高效的PHP框架,靈活、實用、開箱即用。擁有DAO/ActiveRecord、I18N/L10N、緩存、認證和基于角色的訪問控制、搭建、測試等諸多豐富的功能。
3、Symfony
Symfony是業(yè)界領先的非常靈活和強大的PHP開發(fā)框架,擁有30多個低耦合和可重用的組件,如安全、模板、轉義、驗證、表單配置等。,并可隨時隨地按需使用。
4、ThinkPHP
THinkPHP是一個快速簡單的輕量級國產(chǎn)PHP開發(fā)框架,比較適合中小型項目。是目前國內(nèi)開發(fā)的最先進、最有影響力的PHP開發(fā)框架。
為什么參數(shù)化SQL查詢可以防止SQL注入?
為什么參數(shù)化SQL查詢可以防止SQL注入?
相信大家對SQL注入都有一定的了解,也都知道SQL參數(shù)化查詢可以防SQL注入,那么為什么SQL參數(shù)化查詢可以防注入呢?這個問題估計很多人都不清楚。
什么是SQL注入?我們所說的SQL注入是指用戶通過提交數(shù)據(jù)來組裝和構造惡意的數(shù)據(jù)庫SQL語句,從而實施攻擊。
例如,有這樣一條SQL:
select * from user where userName Susan和pwd12345此時,如果:或11 -從userName傳入,那么SQL會是這樣的:
Select * from user其中用戶名或11-和PWD 12345和-代表注釋。這時SQL的條件就變成了用戶名是空字符串或者11(永遠為真),不需要檢查密碼。
防止SQL對用戶輸入的數(shù)據(jù)進行過濾和轉義;
用存儲過程執(zhí)行比較麻煩;
SQL預編譯/參數(shù)化查詢。
為什么參數(shù)化查詢可以防止SQL注入?參數(shù)化查詢實際上采用的是預編譯,SQL語句的參數(shù)部分先編譯。翻譯,生成相應的一組臨時變量,然后用相應的設置方法給這些臨時變量賦值。在賦值之前,將對傳入的參數(shù)進行強制類型檢查和相關的安全檢查,從而避免SQL注入。
比如上面的SQL,如果用戶名作為參數(shù)傳遞(比如@userName),數(shù)據(jù)庫編譯SQL指令(知道@userName處要傳遞一個字符串)后,即使字符串中有單引號或者注釋,也會被當作字符串,在SQL中不會被當作關鍵字或者分隔符。
那個 這是我的看法。你怎么看待這個問題?歡迎在下方評論區(qū)交流~我是科技領域的創(chuàng)作者,有十年互聯(lián)網(wǎng)行業(yè)經(jīng)驗。歡迎關注我了解更多科技知識!