1

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

    }

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

4

1 回答 1

1

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

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

阅读更多关于 SQL 注入(和其他类型的漏洞)的信息,您可以在这里:https ://www.owasp.org/index.php/SQL_Injection

于 2013-08-16T17:44:14.340 回答