gpt4 book ai didi

r - 在 R 中使用 dplyr 将 csv 导入 SQLite 数据库时,是否需要担心 SQL 注入(inject)?

转载 作者:行者123 更新时间:2023-12-03 17:46:40 26 4
gpt4 key购买 nike

我在 R 中有一个使用 RSQLite 的数据库。此数据库中有一张表,我希望用户能够导入 .csv 文件以将数据添加到该表中。如果我使用 dplyr 来执行此操作,我是否需要担心“清理”电子表格中的数据以确保它不会破坏我的数据库?例如,确保撇号不会干扰 SQL 查询。 dplyr 会处理这个吗?我对 SQL 不是很熟悉,所以请多多包涵。

最佳答案

只要你在 RSQLite 中使用参数化语句(dplyr 与此无关),你应该是安全的,即潜在危险的数据被设置为单独的参数,而不是直接放在查询中文本。 RSQLite 将确保正确转义值以避免 SQL 注入(inject)。

documentation提供了此类查询的示例,此处带有 delete 操作,但它可以转换为插入。

rs <- dbSendStatement(mydb, 'DELETE FROM iris WHERE "Sepal.Length" < :x')

## added: bind the actual data here:
dbBind(rs, param = list(x = 4.5))

dbGetRowsAffected(rs)

关于r - 在 R 中使用 dplyr 将 csv 导入 SQLite 数据库时,是否需要担心 SQL 注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56430640/

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