मैं Play का उपयोग कर रहा हूँ! डेटाबेस तक पहुंचने के लिए Anorm के साथ ढांचे। मैं अक्सर निम्नलिखित उदाहरणों को देखता हूं जहां ऑब्जेक्ट सदस्यों को सीधे SQL कथन में इंजेक्शन दिया जाता है।स्कैला एनोम स्ट्रिंग प्रतिस्थापन इनपुट को स्वच्छ करता है?
मेरा सवाल है, क्या ये इनपुट sanitized हैं? अधिकांश उदाहरण की तरह लग रही है:
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? –