0

最近我正在调查创建一个多层应用程序。我读过的每个主题都表明 3 层架构比 2 层架构更好,因为通过在客户端暴露数据库的连接字符串,您会在系统中创建一个很大的安全漏洞。所有这些文章都只是解释了公开数据库的位置是一个坏主意,而没有一篇解释为什么。

任何人都可以帮助我并向我解释暴露数据库位置的线程吗?我的意思是他们会知道位置,但他们不会知道用户名和密码才能登录和修改数据库。是什么让 3 层架构比 2 层架构更安全?只是为了达到数据库的额外希望吗?

在此先感谢康斯坦丁·帕塔克

4

1 回答 1

0

连接字符串包括用户名和密码。如果您的客户端应用程序可以直接访问数据库,那么用户可以检查客户端应用程序并提取连接凭据以执行相同操作。

中间层将提供与您希望客户端能够执行的操作相对应的 API。客户端不受内部实现的影响,内部实现可能包括也可能不包括数据库。您将能够在不影响客户端的情况下更改实现。也许你会发现负载太高了,需要从 RDS 切换到 NoSQL。客户不需要知道或改变。也许您将开始缓存一些结果而不会影响您的数据库。同样,客户不需要知道或改变。这就是为什么业界已经标准化了直接从客户端应用程序访问数据库的原因。

于 2015-12-21T18:15:35.173 回答