gpt4 book ai didi

javascript - 如何安全地转义 bigquery Node 插入的用户输入?可以在 bigquery.insert Node 库上使用参数化查询吗?

转载 作者:行者123 更新时间:2023-11-29 23:21:36 25 4
gpt4 key购买 nike

我需要将用户表单中的数据插入到 bigquery 中,我想知道清理/转义/清理数据的最佳方法是什么。我正在使用 Google Cloud BigQuery library .

是否可以使用 Parameterized Queries在这个图书馆的插入?我不确定如何,也许我需要使用 sql insert 而不是使用 Node 库 insert(jsObject)?现在我在每个字符串上使用 mysql 转义库,然后再放入 JS 对象,但我不确定这是否安全?

这是插入的样子:

bigquery
.dataset("analytics")
.table("actions")
.insert(someJSObjectWithUserInputData)
.then(() => {
console.log(`Inserted row`);
})

最佳答案

当通过加载作业或流式 API 运行插入时,您不需要为了安全而转义数据。题中table.insert是流数据进来的,所以不用担心转义的问题。

如果您选择使用新的支持 DML 语句INSERT INTO,那么您将不得不担心转义问题。在这种情况下,您可以使用提到的参数化查询。您可以使用 @param_name 等标识符和 ? 的位置参数。

对于那种情况下的 Node.JS,您需要使用以下 API 引用,特别是 params:

params: For positional SQL parameters, provide an array of values. For named SQL parameters, provide an object which maps each named parameter to its value.

https://cloud.google.com/nodejs/docs/reference/bigquery/1.2.x/BigQuery#query

关于javascript - 如何安全地转义 bigquery Node 插入的用户输入?可以在 bigquery.insert Node 库上使用参数化查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50419771/

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