20
私はPlay!を使用しています。フレームワークをAnormと一緒に使用してデータベースにアクセスします。オブジェクトのメンバがSQL文に直接挿入されている次のような例がよくあります。Scala Anorm Stringの置換はサニタイズ入力ですか?
私の質問は、これらの入力は消毒されていますか?ほとんどの例としては、以下のようになります。
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に、あなたの「ソースコード」のリンクを更新してくださいでした(一般的な説明についてはPreparedStatement wikipediaページを参照してください) /SimpleSql.scala#L8-L19? –