Android SQL 语句容易受到 SQL 注入攻击吗?
Is this Android SQL statement vulnerable to SQL injection?
SQLiteDatabase
class 提供的 query()
方法是否可以安全使用而不用担心 SQL 注射?
db.query(TABLE,cols,COL_ID + " = '" + id + "' AND " + COL_FROM + " = '" + from + "'",null,null,null,null);
id
和 from
变量完全未转义。
或者以下是唯一安全的方法吗?
"column=? OR column2=?",
new String[] {"value1", "value2"}
Is the query()
method provided by SQLiteDatabase
class safe to use without worrying about SQL injections?
没有
query()
本质上只是 SQLiteQueryBuilder
的包装器,它构造了一个原始的 SQL 语句,该语句按原样执行。
Or is the following the only safe way to go?
严格来说不只是,而是一种简单安全的方法,是的。
(请注意,您将 AND
切换为 OR
。)
SQLiteDatabase
class 提供的 query()
方法是否可以安全使用而不用担心 SQL 注射?
db.query(TABLE,cols,COL_ID + " = '" + id + "' AND " + COL_FROM + " = '" + from + "'",null,null,null,null);
id
和 from
变量完全未转义。
或者以下是唯一安全的方法吗?
"column=? OR column2=?",
new String[] {"value1", "value2"}
Is the
query()
method provided bySQLiteDatabase
class safe to use without worrying about SQL injections?
没有
query()
本质上只是 SQLiteQueryBuilder
的包装器,它构造了一个原始的 SQL 语句,该语句按原样执行。
Or is the following the only safe way to go?
严格来说不只是,而是一种简单安全的方法,是的。
(请注意,您将 AND
切换为 OR
。)