gpt4 book ai didi

Kotlin 暴露 : How to create prepared statement or avoid SQL Injection?

转载 作者:行者123 更新时间:2023-12-01 22:08:16 27 4
gpt4 key购买 nike

我使用 Kotlin Exposed 创建查询。但是当我必须使用从客户端收到的参数时,我遇到了一个问题:

private fun accountInfo(msg: AccountInfoMsg) {
transaction {
val accountInfo = UserAccount.wrapRow(Account.innerJoin(Account_Banned).select {
Account.email.eq(msg.login.toLowerCase()) and (Account.id eq Account_Banned.accountId)
}.single())
}
}

那么如何创建准备好的语句或如何通过可能的 SQL 注入(inject)传递参数?

最佳答案

Exposed 在幕后为您做这件事。因为它将这项工作委托(delegate)给 PreparedStatement,所以它会为您处理。如果您想对您的输入进行完整性检查,您应该出于商业原因这样做,将其余部分留给 Exposed。

编辑:我相信the source of Statement在 Exposed 中展示了这一点。委托(delegate)给 PreparedStatement 是防止 SQL 注入(inject)攻击所需的一切。

关于Kotlin 暴露 : How to create prepared statement or avoid SQL Injection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50180516/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com