这是我的方法。如您所见,我正在使用本机sql执行INSERT查询。
public void addNews(String title, String content) {
Session session = null;
session = this.sessionFactory.getCurrentSession();
Query query = session
.createSQLQuery(
"INSERT INTO news VALUES(NULL,:title,:content,NULL)")
.setString("title", title).setString("content", content);
int updated = query.executeUpdate();
}
安全吗?或者我该如何改进我的方法?
答案 0 :(得分:1)
是,将值设置为参数(setString()方法)可防止SQL注入。非安全的sql语句如下所示:
String query = "INSERT INTO news VALUES(NULL," + title + "," + content + ",NULL)";
详细了解SQL注入(以及其他类型的漏洞):https://www.owasp.org/index.php/SQL_Injection