如何让INSERT更安全?

时间:2013-08-16 17:18:20

标签: spring hql sql-injection sql-insert

这是我的方法。如您所见,我正在使用本机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();

    }

安全吗?或者我该如何改进我的方法?

1 个答案:

答案 0 :(得分:1)

是,将值设置为参数(setString()方法)可防止SQL注入。非安全的sql语句如下所示:

String query = "INSERT INTO news VALUES(NULL," + title + "," + content + ",NULL)";

详细了解SQL注入(以及其他类型的漏洞):https://www.owasp.org/index.php/SQL_Injection