8
我想知道Spring MVC如何處理SQL注入(以及其他安全問題:XSS,代碼[javascript]注入等)。我主要談的是逃避添加到數據庫等的值。我似乎無法找到任何答案,因爲每次搜索涉及依賴注入的spring sql注入結果都會出現。Spring(MVC)SQL注入避免?
我的流程如下:在客戶端瀏覽器中,我發出一個包含JSON的請求,其中包含一些查詢參數(不是SQL語句,這太愚蠢 - 要在JS中形成SQL查詢)。當請求到達Controller中正確註釋的方法時,請求將通過使用Jackson的@RequestBody映射到「請求對象」。現在這個對象被髮送到DAO,在那裏使用JDBC模板I查詢數據庫(並使用RowMapper I映射結果)。
在DAO我有類似:
public int countAll(RequestObject request) {
String sql = "SELECT count(*) FROM employees WHERE name = '" + request.getName() + "'";
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
int count = jdbcTemplate.queryForInt(sql);
return count;
}
現在是這種方法從SQL注入安全嗎? 鑑於流經Spring MVC的非基於JDBCTemplate的查詢是安全的嗎?
我們可以就此進行一些討論嗎?
是的,其實這是有點明顯,我。問題是......在像上面解釋過的那種情況下,Spring會逃脫任何事情?現在,回想起來,我認爲這不是,但只是爲了確定我寧願問。 – BogdanSorlea
但你還沒有實現它。春天不會逃脫任何事情。根據您提供的信息,上述內容是您唯一的問題。 – Mick
這個問題並不僅僅涉及到spring或java。完全接受這個答案。 – Mukus