{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

如何防止sql惡意注入?

lewiflewif 回答4 收藏1
收藏問題

4條回答

Alliot

Alliot

回答于2022-06-22 19:34

1
評論0 贊同0
  •  加載中...
Julylovin

Julylovin

回答于2022-06-22 19:34

1.凡事涉及到用戶輸入操作的必須前后端檢驗,盡可能限制輸入的范圍,例如排除特殊字符

2. 數據庫必須只能內網訪問,涉及到sql操作必須使用預編譯,防止sql直接提交到數據庫,例如mybatis的#占位符,而不是$

3. 鑒權:所有涉及到面向客戶的操作須鑒權,防止出現暴力破解情況,核心接口可做訪問統計,限流控制,錯誤信息個性化定制,不暴露內部信息,一般使用內部約定的錯誤碼等形式

評論0 贊同0
  •  加載中...
CntChen

CntChen

回答于2022-06-22 19:34

第一,項目分層處理!邏輯層和數據層嚴格分開,不要隨意暴露數據表結構!

第二,對用戶輸入進行驗證,對客戶輸入的數據進行參數化查詢!

評論0 贊同0
  •  加載中...
Vicky

Vicky

回答于2022-06-22 19:34

1. 能不用sql語句就不用

比如很多orm 框架或庫都將sql語句操作隱藏起來了,你直接 new 一個對象,然后insert. 或 update. 從數據庫取出來也是一個對象。

2. 非要用sql,盡量用預編譯

預編譯的流程是先預編譯,然后綁定執行。 綁定時不會發生直接執行sql語句的注入問題

3. 即使用非預編譯的sql 也有周邊工具防止注入

工具就自己找吧,多的是。如 java 的 mybatis 的 sql類,xml中的#{},go語言內置庫中的多參數 exec 方法等等

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<