gpt4 book ai didi

c# - 使用 Cosmos DB 时,将 CreateDocumentQuery 与谓词 SQL 注入(inject)结合使用是否安全?

转载 作者:行者123 更新时间:2023-12-03 01:02:44 25 4
gpt4 key购买 nike

我正在 .NET 应用程序中使用 Microsoft.Azure.DocumentDB.Core 版本 2.1.1 库来查询 Cosmos DB 中的数据。

下面是我用来从 Cosmos DB 查询数据的代码:

var query = predicate == null 
? docClient.CreateDocumentQuery<T>(CollectionUri, new FeedOptions {..... }).AsDocumentQuery()
: docClient.CreateDocumentQuery<T>(CollectionUri, new FeedOptions { .....}).Where(predicate).AsDocumentQuery();

从上面的代码中我的问题是,在查询中使用谓词将是 SQL 注入(inject)安全的吗?

最佳答案

确实会安全。

该 SDK 使用内部 LINQ to CosmosDB SQL 转换器,该转换器仅将 LINQ 转换为单个字符串的查询。 SDK 将使用 SqlSelectClauseSqlWhereClause 等内部类来约定安全的最终结果。

您还可以使用 query.ToString() 查看 LINQ 创建的确切查询。

关于c# - 使用 Cosmos DB 时,将 CreateDocumentQuery 与谓词 SQL 注入(inject)结合使用是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57075520/

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