2012-01-30 112 views
0

我正在构建一个项目,该项目使用jQuery与SharePoint内托管的单个Web服务进行通信(这一点可能没有实际意义,但我将其纳入背景,并强调会话状态不好多个前端环境)。保护jQuery SPA web服务

Web服务是返回JSON模型的ASP.Net ASMX服务,然后使用Knockout将其映射到UI。为了保存表单,反过来是正确的--JSON模型被发送回服务并保持。

客户端已经推出了数据的机密性要求被发送到从服务器:

  1. 有哪些应该只从客户端发送到服务器的数据。
  2. 有数据只应该出现在特定的视图(可以使用ViewModels解决,所以不要太担心这个数据)
  3. 数据应该不受传统回放攻击的影响。

短构建的专有安全的,什么是保护Web服务的最佳方式,以及是否有任何其他库我应该寻找协助我 - 无论是在JavaScript中,或.Net

+0

会有一个https连接到你的服务器做这个把戏吗? – 2012-02-02 02:16:00

回答

1

我我会把这张帖子作为答案......提供点数的可能性......)但是我不知道你可以轻易说有一个“正确的方法”来做到这一点。

发送到服务的通信当然应该是https。这限制了中间人攻击。我总是检查发送客户端的IP是否与主机头中的IP地址相同。这可以被欺骗,但它使它更烦人:)。另外,我在发送客户端之前为我的所有JSON添加时间戳,然后确保它在服务器上的X秒内。这有助于防止播放攻击。

显然JavaScript是不安全的,你总是需要牢记这一点。

希望能给你一点见解。我正在撰写关于我一直在使用的这种模式的博客文章。它可能对你有帮助,但它没有完成:(我将在今晚或明天发布一个链接