0

我的数据库中有一个表,我必须根据一些参数定期从中获取一些数据。我在想的是制作一个从服务器获取数据的 API(https 上的 POST 请求)。这是使用身份验证令牌以经过身份验证的方式完成的。在讨论同样的问题时,有人建议应该给特定的人 DB 访问权限,然后他使用 SQL 或其他方式与 DB 直接连接。他的论点是直接访问数据库,如果有人在访问时操纵 API 中的数据,我们可能会得到错误的结果。因此,在进行直接数据库连接时,除非他的配置文件被公开,否则一切都是安全的。没有人可以操纵任何东西。

我不相信这个想法。我认为直接访问数据库会暴露整个数据库,这本身就是一个非常大的威胁。此外,如果它是一个如此大的威胁,人们可以更改 API 中的数据,为什么每个人都会使用它。我不清楚整个事情是如何运作的!

所以,我想在这里理解的是,每当我们进行使用 auth_token 进行身份验证的 API 调用时,它是否仍然是一种威胁,有人可能能够在两者之间捕获数据?有人还能看到我在请求中发送的数据吗?

我不完全了解这些事情,只是需要一些帮助。也许正确的文章可以帮助我了解哪些数据会被公开,哪些不会。请帮忙。谢谢!

4

1 回答 1

1

将整个数据库配置暴露给最终用户是绝对不行的,因为它会产生很多安全问题。最终用户将看到比所需更多的信息,并且最终用户必须连接到数据库并填充查询以获取数据。服务器端不会有任何验证。

也许您可以通过在您的 Web 服务器中安装 SSL 证书来为您的 API 提供更多保护。这将有助于防止中间人攻击。

于 2018-07-18T08:15:20.477 回答