gpt4 book ai didi

mobile - 如何检测请求是否来自移动设备

转载 作者:行者123 更新时间:2023-12-01 23:48:31 25 4
gpt4 key购买 nike

在服务器端,有什么方法可以检测到来自移动设备(来自移动应用程序)的对 API 的特定请求?
我知道用户代理嗅探,但我不喜欢这种方法,因为没有足够的理由不实现它。
我也知道我可以在来自我的移动应用程序的请求中添加一些标志,但这似乎也有点脏。
实际上是否有任何“适当”的方法来做到这一点?

我想它没有太大变化,但我的后端在 node.js 中。

问候,谢谢!
汤姆

最佳答案

一般的答案是否定的。您从设备获得 header /消息。您对设备的所有了解都在标题中,设备可以在其中写入它想要的内容。如果您正在谈论 http 请求(由代理查找指示),您可以在此处查看 header :

你所能做的“可靠”就是寻找用户代理。就我而言,它是 Linux 上的 Mozilla Firefox。但如果我愿意,我可以伪造它。

Host: somesite.org
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://somesite.org/index.php?page=2
Cookie: rteStatus=rte;
Cache-Control: max-age=0

也许你可以从引用者那里得到一些信息,如果它是一些 Chrome 移动站点,或者你可以看看 Accept 和 Accept-Enconding,也许一些移动浏览器接受不同的东西。但是没有可靠的方法来确定设备,而是通过 header 通过其用户代理。

另一种方法是查看请求是否来自称为 3G 或 4G 池的 IP。但是,如果请求不是通过 WLAN/WIFI 发出的,这将起作用。而且我不确定是否存在 3G/4G IP 地址池列表。

关于mobile - 如何检测请求是否来自移动设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27788598/

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