如何保护您的 API 免受了解您的 API 的开发人员的侵害?

How to protect your API from developers who knows your API?

我是一家公司的全栈开发实习生。我正在从事在线书店项目。我的经理问了一个问题。

他问“如果其他开发人员知道您的代码或 API 他们可以更改您项目中的代码或 API 并将自己添加为管理员或可以删除数据库中的某些用户还通过更改 API 执行 CRUD 操作。那么如何解决这个问题?".

我的建议:与其将代码放在本地机器上,不如将代码放在某个服务器上。

请提出您的意见和正确答案。

我建议您使用像 githubgitlab 这样的代码存储库。将项目上传为存储库后,更改存储库的设置,这样就不允许其他人更新代码(禁止其他贡献者)。您在生产中的项目代码应基于此存储库进行部署。 不只是更新,您还可以将您的存储库设为私有,这样就没有人可以看到您的代码。

我认为您的问题主要与运行时行为或对休息服务的控制有关。这就是安全性发挥作用的地方。网关通过过滤资源路径来发挥作用。他知道的 API 端点可以在网关处被过滤或重新映射。通过身份验证和授权保护应用程序增加了另一层保护。例如。只有在 he/she 通过身份验证后,人员 A 才能访问该应用程序。一旦通过身份验证,只有当此人属于 SystemAdmin 等

类别时,A 才可以添加 him/herself

如果它与代码管理相关,那么存储库管理就会发挥作用。为少数人设置将更改推送到 Master 分支的权限。从逻辑上讲,所有开发人员都应该在 Forked 分支上工作,并将创建一个 Pull Request 以将更改推送到 Master 分支。这将给 Master 分支的版主审查代码并过滤掉它的机会。