20
我正在使用Play!框架以及Anorm訪問數據庫。我經常看到如下的例子,其中對象成員直接注入到SQL語句中。斯卡拉Anorm字符串替換是否消毒輸入?
我的問題是,這些投入消毒?大多數示例如下所示:
object Person {
def save(p:Person) {
DB.withConnection ("default") { implicit connection =>
SQL("""
INSERT INTO person(firstName,lastName)
values ({firstName}, {lastName})
"""
).on(
"firstName" -> p.firstName,
"lastName" -> p.lastName
).executeUpdate()
}
}
}
我將嘗試通過黑客的方法來找出,但它很容易犯錯誤,所以我想過找更合適的,我可以在人羣集思廣益。
您能否將您的「源代碼」鏈接更新到https://github.com/playframework/anorm/blob/1384c85434254da8cbd73ac5ba93bf258c04bf12/core/src/main/scala/anorm /SimpleSql.scala#L8-L19? – 2016-07-06 21:21:40