반응형
이전 글에서 sql 문을 아래와 같이 만들어서 사용했다면,
fun addData(tableName: String, name: String, age: Int, mobile: String){
val sql = "insert into $tableName (name, age, mobile) values " +
"('$name', $age, '$mobile')"
database?.let{
it.execSQL(sql)
logView("Table $tableName Data Inserted")
} ?: run {
logView("database is null!")
}
}
value 부분을 이렇게 만들면 sql injection에 취약하게 됩니다. : ('$name', $age, '$mobile')
그래서 다음과 같이 사용하는게 좋습니다.
fun addData(tableName: String, name: String, age: Int, mobile: String){
val sql = "insert into $tableName (name, age, mobile) values " +
"(?, ?, ?)"
database?.let{
it.execSQL(sql, arrayOf(name, age, mobile))
logView("Table $tableName Data Inserted")
} ?: run {
logView("database is null!")
}
}
728x90
반응형
'Android' 카테고리의 다른 글
[Kotlin] Background Thread (ThreadExecutor 사용하기) (0) | 2023.08.18 |
---|---|
[Kotlin] RecyclerView 사용하기 (0) | 2023.08.17 |
[Android]Kotlin - WebView 사용하기 (0) | 2023.08.16 |
[Kotlin] SQLiteDatabase 기본적인 사용 방법 (0) | 2023.08.10 |
[Kotlin] Android Camera 사용하기 (0) | 2023.08.04 |
댓글