2011-03-10 150 views
1

我正在使用Windows Phone 7应用程序,并且要使用它,我将需要一个Web服务来发送活动磁贴推送通知。我会将客户端URI通道保存在数据库中,并且每隔一小时左右我会向所有订阅的客户端发送正确的活动切片。我不会将任何敏感数据发送给客户端,客户端也不会将任何数据发送到服务,除了他们的通道URI,并且我确保保护数据库免受任何sql注入的影响。WCF安全建议

公开的方法是注册和注销客户端,以及发送正确的动态磁贴给请求它的客户端。

鉴于这一信息,没有任何人有,我应该如何确保服务的任何建议,或者甚至是安全性需要在这种情况下,用了么?

谢谢!

编辑: 感谢您的答案!虽然我的同事决定不使用任何安全性,但是从数据库中清除错误的请求,因为应用程序的范围非常有限,并且没有传输敏感数据。希望以后不要再咬我们,呃!

回答

1

不幸的是这个问题的最佳解决方案(目前)是产生在你的应用程序的哈希并用它来验证数据确实来自您的应用程序来。显然你需要混淆的代码,如果这样做。

这是你可以不针对任何后端认证做到最好。

如果可以,请让用户向后端注册并进行身份验证,然后将此身份验证令牌绑定到设备的ANID并通过SSL执行所有操作。

不幸的是,currenlty,服务和预防spoffed请求的安全性是WP7相当棘手,而无需登录到后端。

0

确保您使用SSL保护您的频道到后端服务。通过这种方式,您发送给服务器(如ChannelUri)的数据将是安全的。

在应用程序中构建散列并不是安全的。人们可以得到你的XAP并反编译得到散列。

恕我直言,你最好确保你的ChannelUri(对你的应用程序是唯一的,而不是“存储”在你的XAP中的任何地方)在你发送它的时候是安全的。

在后端,只要确保清除了当您尝试发送磁贴通知时发生故障的记录。这将消除非电话方输入的任何记录。

底线是你需要一个登录基础设施与你的后端,以确保只有有效的用户正在使用你的服务。