我一直在閱讀有關準備語句,它說SQL注入仍然是非常有可能的。現在,如果我正在創建一個Web應用程序,我會用Spring,但我認爲它允許這樣的攻擊很奇怪。準備語句和SQL注入
PreparedStatement強制您選擇索引。這會導致很多問題,因爲您不會總是想要一遍又一遍地選擇相同的位置來存儲數據。即使你創建了一個計數器,它也會產生反效果,因爲它會重置程序關閉的所有內容。
String query = "INSERT INTO offers (name,email.text) VALUES
'"+name+"','"+email+ "','"+text+"'";
可以說上面的代碼是我的查詢。什麼是安全的選擇,並會允許mySQL數據庫中的自動增量。
「的PreparedStatement迫使你挑指數」 - 請解釋。什麼索引,什麼櫃檯,你在說什麼問題? – RealSkeptic 2015-04-03 11:14:50
什麼是櫃檯?你爲什麼需要挑選它?你在自動遞增?這種情況下的位置是什麼?請提供一個例子,說明您如何認爲準備好的聲明有效。 – 2015-04-03 11:16:48
String query =「UPDATE offers SET name = name?WHERE name =?」; 嘗試{ \t \t \t ps = conn.prepareStatement(query); \t \t \t ps.setString(1,user.getName()); \t \t \t ps.setString(2,user.getEmail()); \t \t \t ps.execute(query); \t \t} catch(Exception e){ \t \t \t System.out。println(「更新時出錯:」+ e); \t \t} \t} – jocdrew21 2015-04-03 11:41:45