我正在制作将在移动设备上使用的wcf休息服务。如果请求不是来自移动设备,则无法访问该服务。
所以我需要确定请求是来自android,iphone还是windows mobile。
有什么方法可以识别请求吗?我试着谷歌但没有得到任何合适的答案...... !!
答案 0 :(得分:1)
不幸的是,用户代理很容易伪造。某些移动或桌面浏览器允许更改用户代理字符串。
如果你不太关心它,这是可行的。
如果您绝对必须只能通过移动设备访问该服务,则需要某种身份验证/授权方法。
例如,我会开发一个移动应用程序(android或ios),只允许我的服务通过我开发的应用程序进行交互。然后,移动应用程序可以在与我的服务建立联系时提供验证码。可能是认证代码可以在移动应用程序内进行硬编码。
但是,应用程序可以从模拟器sdk运行。您可以在应用程序内部编写进一步的检查,以从移动设备获取硬件详细信息,以验证它实际上是移动硬件。 (我不太确定,因为我还没有真正进入它)
答案 1 :(得分:0)
我认为识别移动设备的唯一方法是将User-Agent与已知移动UA字符串列表进行匹配。