MYSQL使用者輸入限定為字串並用 圈起來,防注入要怎麼做?

時間 2021-06-09 17:37:52

1樓:Aray

如果不能使用引數替換的方式,可以這樣來防SQL注入:

where 條件的值全部用單引號包含起來起來,然後將變數中的單引號轉義(替換成兩個單引號);

類似拼接出這樣的SQL即可: where numbercol='1' and string_col='it''s me.'

不用為了注入漏洞問題而限制使用者輸入。

跟新,完整規則如下:

SQL語句中的常量(常量指的是:user_name='Aray' and age='39' 中的Aray39),如果是使用者輸入,全部使用單引號包含起來,將常量裡的單引號轉義(將單引號替換成兩個單引號

SQL語句中的關鍵字(類似from and),如果這個是使用者輸入的,用正規表示式驗證它,保證他不包含除了數字字母下劃線以外的其它字元;

SQL語句中的子段或者表名字,如果是使用者輸入的,用正規表示式驗證它,保證他不包含除了數字字母下劃線以外的其它字元。

2樓:惟夢

你走的方向就已經錯了。

防止注入是需要引數化,而不是去過濾字元!!

第一點,SQL 語句應寫成固定字串,變數使用引數名代替。比如 InputUserName,寫成 @username。

第二點,編寫應用程式進行查詢,變數部分應使用 Parameter 方式傳入,這樣才能保證 SQL 語義不被傳入值改變。

你只要做到這兩點,就沒有注入問題。

如何在限定的按鍵次數下輸入最多的字元?

a,ctrl H,a,tab,aaaaaaaaaaaaaaaa,按住回車不放用掉剩下的次數。神威太湖之光也扛不住 懶得優化,反正比上面幾個方法多 有人把這個問題推廣了一下寫了篇文章 Solution Sequences for the Keyboard Problem and its General...

30萬使用者的web系統,單台mysql伺服器可以扛住嗎?

瀟湘夜雨 業務qps的估算一般按照場景來劃分,闡述下常見場景的估算方法 1 搶購和活動場景 按照80 的訪問量集中在20 的時間內 qps pv 80 86400 20 2 白天提供業務的場景 例如政務查詢系統等 按照一半時間去計算4w秒 qps pv 40000 3 全天後無明顯波峰場景 qps ...

有沒有那種根據使用者輸入的元件需求自動生成dockerfile或者docker映象的工具?

DavidShawn 這是個好需求,我也類似的需求!我是這樣設想的 通常情況下,我們會From乙個基礎映象,然後自己再新增幾條語句,update,mkdir什麼的。但是,當我們生成映象,並進入使用時,突然發現忘了一些東西,比如我要安裝乙個net tools什麼的,來提供ping功能,過了一會又發現需...