Scala 如何安全地在光滑中插入字符串
我有一个sql查询,它可以有不同的where子句。我想在普通sql中动态插入此子句:Scala 如何安全地在光滑中插入字符串,scala,slick,slick-3.0,Scala,Slick,Slick 3.0,我有一个sql查询,它可以有不同的where子句。我想在普通sql中动态插入此子句: val v1 = s"id = $id AND secondId IS NULL" val v2 = s"secondId = $secondId" val whereCondition = //v1 or v2 at runtime val query = sql"select id from users where #$whereCondition" 正如您所看到的,在sql注入的情况下是不安全
val v1 = s"id = $id AND secondId IS NULL"
val v2 = s"secondId = $secondId"
val whereCondition = //v1 or v2 at runtime
val query = sql"select id from users where #$whereCondition"
正如您所看到的,在sql注入的情况下是不安全的。是否有更安全的方法来构建此sql?如果可以,我建议不要在这里使用纯sql,然后动态构建查询。使用slick的类型安全查询而不是普通sql查询。阅读:。通过这种方式,Slick可以解决SQL注入漏洞。如果可以选择的话,我建议不要在这里使用纯SQL,然后动态地构建查询。使用slick的类型安全查询而不是普通sql查询。阅读:。这样,Slick就可以处理SQL注入漏洞。