提问人:Mindula 提问时间:9/12/2023 最后编辑:ShadowMindula 更新时间:9/12/2023 访问量:114
在 Ballerina SQL 中是否也应该考虑输入清理?
Should input sanitisation also be considered in Ballerina SQL?
问:
我目前正在 Ballerina 中使用参数化查询。
int id = 10;
int age = 12;
sql:ParameterizedQuery query = `SELECT * FROM students WHERE id < ${id} AND age > ${age}`;
我想确保我的应用程序的安全性。我想知道在使用参数化查询时是否有必要清理这些查询的所有输入,作为额外的安全层。
答:
2赞
Dhananjaya
9/12/2023
#1
SQL 库中的参数化查询在调用该特定数据库的数据库驱动程序之前,由 SQL 库转换为预准备语句。据我所知,从参数化查询到准备好的 SQL 语句的转换是在 JBallerina[1][2][3] 中为 MySQL 完成的。对于其他实现,这可能有所不同。因此,对于MySQL,我想说的是,您真的不必担心使用正确格式的参数化查询进行SQL注入攻击。
[1] - https://github.com/ballerina-platform/module-ballerinax-mysql/blob/master/ballerina/client.bal#L59
上一个:防止SQL注入的正确方法?
下一个:确保参数是编译时定义的字符串文本
评论