私はプレイを使用しています!フレームワークと Anorm を組み合わせてデータベースにアクセスします。次のようなオブジェクト メンバーが SQL ステートメントに直接挿入される例をよく見かけます。
私の質問は、これらの入力はサニタイズされていますか? ほとんどの例は次のようになります。
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()
}
}
}
ハッキングで調べてみますが、間違えやすいので聞いたほうがいいと思い、世間の知恵を借りることができました。