為什麼要引數化執行SQL語句呢?

2022-04-06 00:49:34 字數 965 閱讀 7831

為什麼要引數化執行sql語句呢?

乙個作用就是可以防止使用者注入漏洞。

簡單舉個列子吧。

比如賬號密碼登入,如果不用引數,

寫的簡單點吧,就寫從資料庫查詢到id和pw與使用者輸入一樣的資料吧

sql:select id,pw where id='inputid' and pw='inputpw';

一般情況沒什麼問題,但如果使用者輸入的id或pw帶 『 ,這是可能就會出現漏洞,bug了

比如使用者輸入的id是: 1『 or 』1『=『1

這是sql語句執行的是:select id,pw where id='1『 or 』1『=『1 『 and pw='inputpw';

那資料庫裡的所有賬號密碼都符合這個條件了。

簡而言之,使用者可以通過 ' 來改變你sql的執行。

引數化就可以避免這個問題了。

為什麼要引數化執行sql語句呢?

乙個作用就是可以防止使用者注入漏洞。

簡單舉個列子吧。

比如賬號密碼登入,如果不用引數,

寫的簡單點吧,就寫從資料庫查詢到id和pw與使用者輸入一樣的資料吧

sql:select id,pw where id='inputid' and pw='inputpw';

一般情況沒什麼問題,但如果使用者輸入的id或pw帶 『 ,這是可能就會出現漏洞,bug了

比如使用者輸入的id是: 1『 or 』1『=『1

這是sql語句執行的是:select id,pw where id='1『 or 』1『=『1 『 and pw='inputpw';

那資料庫裡的所有賬號密碼都符合這個條件了。

簡而言之,使用者可以通過 ' 來改變你sql的執行。

引數化就可以避免這個問題了。

為什麼要學習程式設計呢

每天在csdn社群閒逛的時候,總是看到一些前輩說的到了40歲左右,不知何去何從,自己掌握的技術已經漸漸在過時,而現在新興的自己有沒有那麼多的精力去學習.我心裡有點後悔來學習程式設計了吧.之前工作,覺得一成不變,今天知道自己明天幹啥,今年又知道明年幹什麼,所以內心的小野心就在不斷的發酵,最後選擇了過來...

為什麼要C幣呢

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...

姑娘,你為什麼要程式設計呢

本來你乙個姑娘,可以去做一雙貼滿水晶的blingbling美甲更顯十指纖纖,不用擔心敲鍵盤不方便 可以不時到健身房練練瑜珈來磨練心性,而不是通過看著滿屏 調bug 可以洗完泡泡浴早早躺下睡個美容覺,而不是深夜趕緊貼上 多少有些自欺欺人地告訴自己,剛才電腦的輻射才不會摧毀 的水汪汪。可是突然有一天,你...