gpt4 book ai didi

web-services - 有没有办法检测从哪个源调用 API?

转载 作者:行者123 更新时间:2023-12-04 04:43:04 24 4
gpt4 key购买 nike

是否有任何方法可以识别调用 API 的来源?源是指 IOS 应用程序,Web 应用程序,如页面或按钮单击(Aja​​x 调用等)。

虽然,可以在调用 api 时保存 (?source=ios 或 ?source=webapp) 之类的标志,但我只是想知道还有其他更好的选择来实现这一点吗?

我也觉得这个要求很奇怪,因为通常一个 App 或一个 Web 应用程序被 n 个用户使用,所以很难监控那么多 API 调用。

请提出您宝贵的建议。

最佳答案

没有完美的方法来解决这个问题。指定一个特殊的标志不会解决你的问题,因为消费者可以放任何她想要的东西,你不能确定它是否合法。如果您为不同的消费者发布不同的 API key ,情况也是如此——您永远不知道他们是否决定更换它们。

我想到的唯一选择是分析 HTTP header 并查看您可以从中推断出什么。您可能知道典型的 HTTP header 看起来像这样:

enter image description here

您可以尝试查看所有来源的请求在您的情况下有何不同,并决定是否可以可靠地区分它们。如果您有开发客户端的奢侈(即这不是公共(public) API),您可以为不同的源设置自定义用户代理字符串。

但是请记住,Referrer 不是强制性的,因此它不是很可靠,并且用户代理也可能被欺骗。所以这是一个聊胜于无的解决方案,但它不是 100% 可靠的。

希望这会有所帮助,这里还有一个 similar question .祝你好运!

关于web-services - 有没有办法检测从哪个源调用 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29847842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com