假设我有API,如果客户保存了他的银行账户,它会返回客户的银行数据。例如IBAN、银行代码、银行账户。因此,我的API按原样返回这些数据。在许多应用程序或文档中,你通常会看到合理的信息被这样屏蔽123***459。
在我前端的应用程序中,我做了同样的屏蔽。但如果你仍然可以从我的API读取完整的未屏蔽数据。
这方面的最佳实践是什么?我应该从rest api返回123***459这样的数据吗?
我认为在不了解用例全部细节的情况下,这将是一个很难回答的问题。然而,这里有一些想法可以让你思考:
首先值得一提的是(正如你在帖子中所指出的(,这绝对是需要小心处理的敏感数据。作为指导原则,必须尽早掩盖银行的详细信息。
- 您的API是否在需要全部详细信息时提供银行详细信息
如果您的API的全部目的是提供银行详细信息以便在屏蔽表单中使用,那么是的,您应该在API响应中屏蔽它们。
- 您可以使用单独的API来提供屏蔽和未屏蔽的银行详细信息吗
从本质上讲,这意味着我们可以回答问题1。然后,对于可以获得未屏蔽银行详细信息的API,可以比仅提供屏蔽数据得到更多保护。
- 您在客户端进行屏蔽吗
如果答案是肯定的,则基本上是无用的,因为用户(或任何恶意行为者(可以从浏览器与API的交互中获取完整的银行详细信息。需要不惜一切代价避免这种情况。