我在ASP.NET CORE上使用web api作为我的应用程序
如果有人看到应用程序感知代码,那么有一个后端网址,不是吗? 然后,如果他继续我的应用程序反编译,那个人可以使用我的api
如何保护这种情况
我只是口吃,所以...只是我的好奇心
答案 0 :(得分:1)
验证您的API
如果您计划拥有私有API(不向所有人开放),那么您应该强制用户使用API访问令牌对自己进行身份验证。每个令牌应该特定于特定用户,并且应该有分配私钥的后果(例如撤销它并阻止与其相关联的人),否则人们将无需小心地共享它们。这将允许用户与您的服务器通信并根据需要运行命令或查询。假设您已正确编写这些函数,他们不应该允许攻击者访问超出给定API函数的给定范围(最多应该是查询)。
文档,文档,文档!
您不应该允许用户访问您的源代码。您应该详细记录您的API,详细说明用户可以使用哪些方法,希望接收哪种数据,以及从中获取哪种数据(包括所有错误,用户请求可能出现的问题以及如何修复他们的要求)。确保您对这些进行大量测试,并确保您无法使用API执行任何类型的恶意操作。将您的文档提供给其他人并要求他们阅读也是一个好主意。如果您错过了重要的内容,那么您将会知道,因为他们对API的了解存在明显的差距。
什么,而不是
用户应该知道 一个功能应该做什么,而不是 它做什么。例如,我可以使用/api/GetUserById
。我应该知道我可以得到一个用户 - 我不应该知道 它如何获得用户。我唯一需要知道的是我执行此调用并返回一个json对象,其中包含有关用户的详细信息。就是这样。
与我的任何帖子一样,如果有我错过的内容或您需要进一步澄清的内容,请在评论中告诉我,我们乐意进一步解释。我希望这有帮助