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

Wcf 如何识别来自移动设备的请求,wcf,web-services,rest,Wcf,Web Services,Rest,我正在制作一个wcf rest服务,它将从移动设备上使用。如果请求不是来自移动设备,则无法访问该服务 因此,我需要确定请求是来自android、iphone还是windows mobile 有什么方法可以确定请求吗??我试图谷歌它,但没有得到任何合适的答案 我认为识别移动设备的唯一方法是将用户代理与已知移动UA字符串列表相匹配 这里有一个列表:不幸的是,用户代理很容易被伪造。某些移动或桌面浏览器允许更改用户代理字符串 如果你不太在意的话,这是可行的 如果您绝对必须仅从移动设备访问该服务,则需要某

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

因此,我需要确定请求是来自android、iphone还是windows mobile


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

我认为识别移动设备的唯一方法是将用户代理与已知移动UA字符串列表相匹配


这里有一个列表:

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

如果你不太在意的话,这是可行的

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

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


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

嘿。谢谢你的建议。我还有一个身份验证密钥。我要做的是,检查它是否来自iphone和android。然后检查密钥,解码并将其检查到我的数据库中。我希望它能给我一个基本的安全性。你说呢?你是用一个手写的本机手机应用程序还是仅仅用手机的浏览器来访问?如何将身份验证密钥从手机发送到服务器?它将是本机手机应用程序。我计划的是,当我从android调用服务时,我会发送带有uri的密钥。差不多。这是正确的做法吗?