亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PreparedStatement如何避免或防止SQL注入?

PreparedStatement如何避免或防止SQL注入?

鳳凰求蠱 2019-06-28 10:42:12
PreparedStatement如何避免或防止SQL注入?我知道PreparedStatements避免/防止SQL注入。它是怎么做到的?使用PreparedStatement構建的最終表單查詢是否為字符串?
查看完整描述

3 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

SQL注入的問題是,用戶輸入被用作SQL語句的一部分。通過使用準備好的語句,您可以強制將用戶輸入作為參數的內容處理(而不是作為SQL命令的一部分)。

但是,如果您不使用用戶輸入作為準備語句的參數,而是通過將字符串連接在一起來構建sql命令,則仍然容易受到SQL注入的影響。即使在使用預先準備的語句時。


查看完整回答
反對 回復 2019-06-28
?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

考慮做同一件事的兩種方法:

PreparedStatement stmt = conn.createStatement("INSERT INTO students VALUES('" + user + "')");stmt.execute();

PreparedStatement stmt = conn.prepareStatement("INSERT INTO student VALUES(?)");stmt.setString(1, user);stmt.execute();

如果“user”來自用戶輸入,而用戶輸入是

Robert'); DROP TABLE students; --

然后在第一次,你會被沖洗。在第二階段,你是安全的,小波比桌將在你的學校注冊。


查看完整回答
反對 回復 2019-06-28
  • 3 回答
  • 0 關注
  • 1776 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號