API调用的安全性

API调用的安全性,api,ssl,https,Api,Ssl,Https,简介 你好, 我是一个典型的程序员,知道如何使用api,但我倾向于认识到我应该更多地了解如何使用api,挺起我的肩膀,继续使用我所知道的 我知道如何对api进行故障排除(尽管我讨厌这样做),而且我知道大多数时候,对发送到我自己的api的数据进行大量验证是一个非常好的主意,以防其他人喜欢发送他们自己的值而不是预期值 问题 但有一件事我确实不明白,为什么有必要在两个站点之间的api调用上使用SSL/https?例如;我的站点对另一个站点上的api进行卷曲。这两个站点的调用之间没有用户或浏览器 也许我

简介
你好,

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

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

问题
但有一件事我确实不明白,为什么有必要在两个站点之间的api调用上使用SSL/https?例如;我的站点对另一个站点上的api进行卷曲。这两个站点的调用之间没有用户或浏览器

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

我知道恶意软件可以在通过浏览器发送时收集您的个人数据

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

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


谢谢你的时间

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


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

谢谢您的回答,但我还需要知道这是如何开始的。这就是我学习和记忆的方式;通过了解发生了什么,而不仅仅是听到“人们可以在中间进行互动”。他们是否在互联网上发现了一些与我的网站及其价值相关联的流量,或者他们是否劫持了我的服务器ip并从那里进行检查?他们必须连接到主机和客户端之间的一个网络。一旦连接到该网络,就可以看到所有通过的流量。这是一个叫做包嗅探的过程。数据包嗅探器的工作原理有点复杂,但是您可以在这里阅读更多关于它们的内容:谢谢链接。我仍然有一点问题,以掌握这一切,但我认为我有一个相当好的总结,至少。因此,基本上有人阅读网络流量,可以将某个调用与url-post_data-yummy_password=secret&id=20联系起来?甚至Facebook也无法控制谁读取他们的网络服务器?在大多数情况下,客户端和web服务器之间的任何交互都必须通过许多不同的路由器才能到达需要的位置。大多数情况下,这些路由器(或“跃点”)都是由不同的公司(例如,您的ISP)拥有的。Facebook无法控制您的ISP网络,也无法验证所述网络的安全性。这就是为什么在向任何外部网络传输敏感数据和从任何外部网络传输敏感数据时使用SSL非常重要的部分原因。