【发布时间】:2020-04-14 14:32:56
【问题描述】:
传统上,在我过去编写的 Xamarin 应用程序中,有一个 WebService,它使用 EF 创建调用或仅存储 Procs 以与关系数据库通信。在 Cosmos 的美丽新世界中,我是否因为提供数据库连接软件的额外服务层而感到解脱?
【问题讨论】:
标签: ios api xamarin azure-cosmosdb webapi
传统上,在我过去编写的 Xamarin 应用程序中,有一个 WebService,它使用 EF 创建调用或仅存储 Procs 以与关系数据库通信。在 Cosmos 的美丽新世界中,我是否因为提供数据库连接软件的额外服务层而感到解脱?
【问题讨论】:
标签: ios api xamarin azure-cosmosdb webapi
在 Web 上公开数据库总是有风险的,如果您的数据库公开,那么保证数据层的安全性会有点挑战。
如果有人使用中间人攻击或任何其他攻击来窃取您的 dB 凭据,会发生什么情况?他将访问您的所有数据(甚至是您的应用程序对您的用户隐藏的数据),并且可以对 dB 帐户进行任何不需要的操作。因此,如果精心设计,在应用程序和数据层之间有一个应用程序服务器将为您的应用程序添加一个额外的安全层。
另一个有趣的点是,Web 服务可以实现不同的机制来控制允许用户对您的数据执行的操作 - 例如,使用 RBAC,如果在源代码可以执行的移动应用程序中实现这种控制如果进行反向工程,攻击者可以更容易地绕过您的控件并对您的应用程序做任何他想做的事情。
使用 Web 服务可帮助您更好地控制基础架构以及您希望它如何增长,例如,扩展 Web 服务器比扩展数据库服务器更容易且成本更低。
【讨论】: