我应该按原样公开我的 API 中的银行详细信息吗?
Should i expose bank details from my API as it is?
假设我有 API,如果客户保存了他的银行帐户,它 return 就是客户银行数据。例如 IBAN、银行代码、银行帐户。所以我的 API return 是这个数据。
在许多应用程序或文档中,您通常会看到像这样屏蔽敏感信息的信息 123***459.
在我的前端应用程序中,我做了同样的屏蔽。但是如果你仍然可以从我的 API.
中读取完整的未屏蔽数据
这方面的最佳做法是什么?我是否应该 return 来自 rest api 的 123***459 之类的数据?
我认为对于不知道您用例的全部细节的人来说,这将是一个很难回答的问题。但是,这里有一些想法可以让您思考:
首先值得一提的是(正如您在 post 中指出的)这绝对是需要小心处理的敏感数据。作为指导原则,必须尽早隐藏银行详细信息。
- 当需要完整详细信息时,您的 API 是否提供银行详细信息?
如果您 API 的全部目的是提供银行详细信息以供在屏蔽表单中使用,那么是的,您应该在 API 响应中屏蔽它们。
- 您能否使用单独的 API 来提供屏蔽和未屏蔽的银行详细信息?
基本上这就是说我们可以对问题 1 做出否定的回答。那么对于API,可以获得未屏蔽的银行详细信息比仅提供屏蔽数据更能受到保护。
- 你在客户端做屏蔽吗?
如果答案是肯定的,那么它基本上是无用的,因为用户(或任何恶意行为者)可以从与 API 的浏览器交互中获取完整的银行详细信息。需要不惜一切代价避免这种情况。
假设我有 API,如果客户保存了他的银行帐户,它 return 就是客户银行数据。例如 IBAN、银行代码、银行帐户。所以我的 API return 是这个数据。 在许多应用程序或文档中,您通常会看到像这样屏蔽敏感信息的信息 123***459.
在我的前端应用程序中,我做了同样的屏蔽。但是如果你仍然可以从我的 API.
中读取完整的未屏蔽数据这方面的最佳做法是什么?我是否应该 return 来自 rest api 的 123***459 之类的数据?
我认为对于不知道您用例的全部细节的人来说,这将是一个很难回答的问题。但是,这里有一些想法可以让您思考:
首先值得一提的是(正如您在 post 中指出的)这绝对是需要小心处理的敏感数据。作为指导原则,必须尽早隐藏银行详细信息。
- 当需要完整详细信息时,您的 API 是否提供银行详细信息?
如果您 API 的全部目的是提供银行详细信息以供在屏蔽表单中使用,那么是的,您应该在 API 响应中屏蔽它们。
- 您能否使用单独的 API 来提供屏蔽和未屏蔽的银行详细信息?
基本上这就是说我们可以对问题 1 做出否定的回答。那么对于API,可以获得未屏蔽的银行详细信息比仅提供屏蔽数据更能受到保护。
- 你在客户端做屏蔽吗?
如果答案是肯定的,那么它基本上是无用的,因为用户(或任何恶意行为者)可以从与 API 的浏览器交互中获取完整的银行详细信息。需要不惜一切代价避免这种情况。