繁体   English   中英

如何保护 API 端点不被应用程序外部访问

[英]How to protect API endpoints from being accessed outside of application

我对 web 开发相当陌生。 我创建了一个 MEAN 堆栈应用程序,我有兴趣让我的 API 在我的应用程序之外无法访问。

例如,我有一个看起来像这样的端点(这是一个假的,原因很明显): https://fakeserver.herokuapp.com/getAllUsers 我在我的应用程序中使用它来做所有类型的事情。 但是,如果有人直接在 web 浏览器中点击该链接,他们将获得与该端点关联的所有数据。 有没有办法防止这种情况发生? (假设有人可以访问该 URL)

欢迎来到Web开发

这是web开发中很常见的事情。 确保与用户相关的所有数据安全。 看起来您正在使用 Heroku。

现在首先要确保,您永远不应该在 angular 应用程序上存储私有数据(除非您只允许访问 IP 并管理我不推荐的)。 不在 angular 上托管私有数据的原因是因为所有 angular 代码都是可公开访问的,即使您隐藏它也是如此。 Angular 是客户端应用程序,这意味着所有代码都在客户端计算机上呈现。

如果您还没有这样做,我建议您查看 REST API,这将创建一个层,可以将任何私有代码放置在对公众隐藏的私有服务器上呈现它。

一旦您设置了 REST API,您的代码将不再可公开访问,但如果有人找到您的 API URL,您的 API 仍然可以访问。 为了解决这个问题,我建议查看 OAuth 2.0

快乐编码!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM