如何识别来自移动设备的请求

时间:2011-08-12 08:24:51

标签: wcf web-services rest

我正在制作将在移动设备上使用的wcf休息服务。如果请求不是来自移动设备,则无法访问该服务。

所以我需要确定请求是来自android,iphone还是windows mobile。

有什么方法可以识别请求吗?我试着谷歌但没有得到任何合适的答案...... !!

2 个答案:

答案 0 :(得分:1)

不幸的是,用户代理很容易伪造。某些移动或桌面浏览器允许更改用户代理字符串。

如果你不太关心它,这是可行的。

如果您绝对必须只能通过移动设备访问该服务,则需要某种身份验证/授权方法。

例如,我会开发一个移动应用程序(android或ios),只允许我的服务通过我开发的应用程序进行交互。然后,移动应用程序可以在与我的服务建立联系时提供验证码。可能是认证代码可以在移动应用程序内进行硬编码。

但是,应用程序可以从模拟器sdk运行。您可以在应用程序内部编写进一步的检查,以从移动设备获取硬件详细信息,以验证它实际上是移动硬件。 (我不太确定,因为我还没有真正进入它)

答案 1 :(得分:0)

我认为识别移动设备的唯一方法是将User-Agent与已知移动UA字符串列表进行匹配。

这里有一个列表:http://www.zytrax.com/tech/web/mobile_ids.html