2011-08-12 40 views
0

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

所以我需要确定是否从android,iphone或windows mobile请求。

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

回答

1

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

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

如果您绝对必须仅通过移动设备以可访问的方式保护服务,则需要某种身份验证/授权方法。例如,我会开发一个移动应用程序(android或ios),并且只允许我的服务通过我开发的应用程序进行交互。移动应用程序可以在建立与我的服务的联系时提供验证码。认证码可能在移动应用内被硬编码。

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

+0

嘿。感谢您的建议。我也有一个身份验证密钥。我在做什么,检查它是否来自iphone和android。然后检查密钥,解码并将其检入到我的数据库中。我希望这会给我一个基本的安全。有什么说的? – kandroid

+0

您是使用书面原生手机应用程序还是仅使用手机浏览器访问?你如何将认证密钥从手机发送到你的服务器? –

+0

这将是一个本地手机应用程序。我计划的是,当我将从android调用服务时,我会将密钥与uri一起发送。像** http://myservice.mysite.com/json/customer/key**。这将是一个正确的方法吗? – kandroid