2011-03-10 96 views
1

我正在使用Windows Phone 7應用程序,並且要使用它,我將需要一個Web服務來發送活動磁貼推送通知。我會將客戶端URI通道保存在數據庫中,並且每隔一小時左右我會向所有訂閱的客戶端發送正確的活動切片。我不會將任何敏感數據發送給客戶端,客戶端也不會將任何數據發送到服務,除了他們的通道URI,並且我確保保護數據庫免受任何sql注入的影響。WCF安全建議

公開的方法是註冊和註銷客戶端,以及發送正確的動態磁貼給請求它的客戶端。

鑑於這一信息,沒有任何人有,我應該如何確保服務的任何建議,或者甚至是安全性需要在這種情況下,用了麼?

謝謝!

編輯: 感謝您的答案!雖然我的同事決定不使用任何安全性,但是從數據庫中清除錯誤的請求,因爲應用程序的範圍非常有限,並且沒有傳輸敏感數據。希望以後不要再咬我們,呃!

回答

1

不幸的是這個問題的最佳解決方案(目前)是產生在你的應用程序的哈希並用它來驗證數據確實來自您的應用程序來。顯然你需要混淆的代碼,如果這樣做。

這是你可以不針對任何後端認證做到最好。

如果可以,請讓用戶向後端註冊並進行身份驗證,然後將此身份驗證令牌綁定到設備的ANID並通過SSL執行所有操作。

不幸的是,currenlty,服務和預防spoffed請求的安全性是WP7相當棘手,而無需登錄到後端。

0

確保您使用SSL保護您的頻道到後端服務。通過這種方式,您發送給服務器(如ChannelUri)的數據將是安全的。

在應用程序中構建散列並不是安全的。人們可以得到你的XAP並反編譯得到散列。

恕我直言,你最好確保你的ChannelUri(對你的應用程序是唯一的,而不是「存儲」在你的XAP中的任何地方)在你發送它的時候是安全的。

在後端,只要確保清除了當您嘗試發送磁貼通知時發生故障的記錄。這將消除非電話方輸入的任何記錄。

底線是你需要一個登錄基礎設施與你的後端,以確保只有有效的用戶正在使用你的服務。