我想发布一个应用程序,其中包含 MongoDB 驱动程序和我从 Microsoft Azure CosmosDB 获得的连接字符串。它足够安全还是我需要额外制作一个 API?我知道你不应该这样做,但我对“MongoDB-API”有点困惑。
最佳答案
不,在客户端上存储连接详细信息并不安全。仅供引用,the documentation is here 。文档中给出的示例是用 Python 编写的,但这并没有改变要点:
import pymongo
import dns # required for connecting with SRV
client = pymongo.MongoClient("mongodb+srv://kay:myRealPasswo<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="76041236151a030502130446581b19181119121458181302" rel="noreferrer noopener nofollow">[email protected]</a>/test?w=majority")
db = client.test
请注意,连接要求您指定凭据。一旦这些凭证被存储并嵌入到应用程序中分发,您必须假设全世界都知道它们。如果全世界都可以使用这些凭据连接到数据库,那么您为什么首先需要它们?
因此,您的应用需要一个数据访问层,其作用是对应用用户进行身份验证并执行这些用户请求所需的查询,并以应用理解的方式转发结果。
关于c# - 将 Azure Cosmos DB for Mongo-DB-API 连接字符串放入 Xamarin 应用程序中是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65825486/