【发布时间】:2018-07-15 04:23:26
【问题描述】:
让我们想象以下场景:调用 API 的网络应用。 由于可以在网络浏览器中访问网络应用程序代码,我们可以说任何人都可以复制其代码并开始调用我们的 API,但我们无法检测它是否来自我们的网络应用程序。
如何预防?
【问题讨论】:
标签: api security web-applications
让我们想象以下场景:调用 API 的网络应用。 由于可以在网络浏览器中访问网络应用程序代码,我们可以说任何人都可以复制其代码并开始调用我们的 API,但我们无法检测它是否来自我们的网络应用程序。
如何预防?
【问题讨论】:
标签: api security web-applications
非公共 REST 服务必须在每个 API 端点执行访问控制。单体应用程序中的 Web 服务通过用户身份验证、授权逻辑和会话管理来实现这一点。对于按照 RESTful 风格组成多个微服务的现代架构,这有几个缺点。
您也可以使用 API 密钥。 API 密钥可以减少拒绝服务攻击的影响。但是,当它们被发布给第三方客户端时,它们相对容易被破解(如果您不打算这样做,那么密钥劫持应该不会有任何问题)。
您可以在 OWASP's official article 上阅读更多良好的安全实践。
我希望这会有所帮助。
【讨论】: