2011-08-12 89 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