在应用程序中连接到远程数据库的更安全的方法

时间:2017-12-01 12:42:56

标签: c# php android mysql xamarin

假设我正在创建一个Xamarin.android(我们将其视为任何平台/框架)。所以,我必须使用远程数据库来存储和检索信息。

我一直在我的服务器上创建基于PHP的API,与数据库交互。我让我的应用程序使用数据访问那些API端点,这些API更新数据库中的信息。

所以,我想知道如果我让我的应用程序直接连接到远程MySQL,它会比点击API快一点。

哪种方式更安全?出于显而易见的原因,我不希望任何人能够截取数据或连接详细信息到DB。什么是最安全的方式?或者还有其他方法可以完成这项工作吗?

1 个答案:

答案 0 :(得分:3)

暂时忘掉更安全;后端层(在您的情况下是API服务器)将使您的系统更加分离,这是最不重要的事情。假设您突然决定使用其他类型的数据库,假设PostgreSQL而不是MYSQL,您可能需要使用不同的连接字符串格式,您是否愿意每次使用新的数据库连接字符串更新所有客户端的Android应用程序?这将花费时间和成本,并使您的应用程序难以维护,并在用户端打破它。

是的,使用API​​更安全(在您的情况下);对Android应用程序等客户端应用程序进行逆向工程要比攻击安全且设计良好的服务器容易得多。正如您在问题中所说的那样,了解太多会使您的数据库容易受到多种类型的攻击。因此,使用API​​封装数据库会更安全。

但是,使用API​​使您的系统更安全是不够的;你也应该遵循最佳实践。例如;使用HTTPS,使用身份验证技术(密码,Oauth2),使用授权等...

不过,我不是说,没有API就不能直接使用你的数据库,你可以使用不同的技术保护你的数据库,但是可以推荐 NOT

相关问题