【问题标题】:The safety of API callsAPI 调用的安全性
【发布时间】:2012-03-06 18:08:34
【问题描述】:

简介
你好,

我是一个典型的程序员,知道如何使用 api,但倾向于意识到我应该更多地了解使用 api,抬起我的肩膀,继续使用我所知道的。

我知道如何对 api 进行故障排除(尽管我讨厌这样做),而且我知道在大多数情况下,对发送到我自己的 api 的数据进行大量验证是一个非常好的主意,以防其他人喜欢发送他们的自己的价值观,而不是预期的。

问题
我无法理解的一件事是为什么认为有必要在 2 个站点之间的 api 调用上使用 SSL/https?例如;我的网站对另一个网站上的 api 进行了 curl。这两个站点的调用之间没有用户也没有浏览器。

也许我错过了网络实践中的一些常见规则,但是在这种情况下可以连接发送信息的中间人在哪里?

我了解恶意软件在通过您的浏览器发送时可能会收集您的个人数据。

问题基本上是;为什么在没有任何私人用户直接参与通话的情况下进行通话时需要 SSL?

额外的想法
如果我错过了一些关于 api 的重要信息,请告诉我。

感谢您的宝贵时间!

【问题讨论】:

    标签: api ssl https


    【解决方案1】:

    浏览器/用户不必直接参与嗅探网络数据包。在您的 Web 服务器上使用 cURL 与使用家用计算机上的浏览器相同,只是请求来自不同的计算机/网络并且没有 GUI。有人仍然可以在执行 cURL 的计算机(客户端)和 API 所在的服务器(服务器)之间的某处监听。

    API 调用最好要求 SSL,因为 API 通常需要一个密钥来授予对 API 的访问权限。如果此请求以纯文本形式发送,任何在服务器和客户端之间嗅探数据包的人都可以看到此 API 密钥并开始使用它。另一方面,如果 API 请求是通过 SSL 设置的,它将被加密并且更难以弄清楚。

    【讨论】:

    • 感谢您的回答,但我还需要知道这个开始是如何产生的。这就是我学习和记忆的方式;通过了解发生了什么而不仅仅是听到“人们可以在中间进行互动”。他们是否在互联网上找到了一些与我的网站相关联的流量及其值,或者他们是否劫持了我的服务器 IP 并以某种方式从那里检查?
    • 它们必须连接到主机和客户端之间的网络之一。连接到该网络后,您可以看到所有通过的流量。这是一个称为数据包嗅探的过程。数据包嗅探器的工作原理有点复杂,但您可以在此处了解更多信息:en.wikipedia.org/wiki/Packet_analyzer
    • 感谢您的链接。我仍然有一点问题要掌握它,但我认为我至少对它有一个很好的总结。所以基本上有人阅读网络流量可以将某个调用关联到让我们说:url-site.com/api/delicious_datapost_data-yummy_password=secret&id=20?甚至 Facebook 也无法控制谁读取了他们的网络服务器?
    • 在大多数情况下,客户端和 Web 服务器之间的任何交互都必须通过许多不同的路由器才能到达需要的位置。大多数时候,这些路由器(或“跃点”)中的许多由不同的公司(例如您的 ISP)拥有。 Facebook 无法控制您的 ISP 网络,也无法验证所述网络的安全性。这就是为什么在将敏感数据传入和传出任何外部网络时使用 SSL 如此重要的部分原因。
    猜你喜欢
    • 2011-12-19
    • 2015-06-14
    • 2015-12-03
    • 2015-09-08
    • 1970-01-01
    • 2018-04-11
    • 2019-02-25
    • 2016-10-06
    • 2019-12-29
    相关资源
    最近更新 更多