android - 从 http header HTTP_USER_AGENT 可靠性发现 android ios windows mobile?

标签 android ios mobile http-headers windows-mobile

这种方法是否正确且不易产生歧义?

我将 HTTP_USER_AGENT 的全部内容拆分成单词,然后检查:

if there is `iPhone` -> iOS
if there is `Android` -> Android
if there is `Windows` -> Windows Mobile
else -> no mobile

最佳答案

首先你忘了“iPod”是 iOS

其次,这是检测设备的唯一方法,但它根本不安全。 header 可以非常轻松地更改,您甚至可以找到 chrome 或 firefox 插件,让您可以根据需要自定义 header 。

如果它只是出于舒适目的的检测:你有一部 iPhone 让我们给你看一张漂亮的 Apple 图片,那没关系,更改 user_agent 的人知道他们在做什么。

如果它是安全的或“它必须是万无一失的”场景,那么这根本不起作用,因为它很容易被欺骗。

如果您正在开发原生应用,最好使用 GET 或 POST 变量发送平台名称并使用 HTTPS 以避免您的变量被篡改。

关于android - 从 http header HTTP_USER_AGENT 可靠性发现 android ios windows mobile?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22864145/

相关文章:

android - android 上的推送通知 : IBM MQTT

ios - 按部分水平分页 CollectionView

ios - 崩溃: constraint is nil in viewController2 while rotating on viewController1

java - 发送图片到服务器

android - VideoJS 不适用于移动设备

asp.net - 这是一个好的 SOA 架构吗?

android - onListItemClick 没有在 ListActivity 上被调用

android - 从线程发布 Toast 消息

Android - 检查用户是否从不同的包中购买了 InApp 产品

ios - UISegmentedControl tintColor