保护基于AJAX的Web应用程序

时间:2011-07-10 12:36:28

标签: jquery .net ajax web-applications protection

我正在构建一个基于AJAX的Web应用程序。

我目前处于一种情况,任何人都可以构建一个服务器端代理应用程序,该应用程序通过正确的请求连接到我的Web应用程序服务器,只是向用户显示Web应用程序结果,并且实际上窃取我的应用程序的数据,如何防止这种情况,只有我的网站的访问者才能获取数据?

我想过使用Facebook API,只允许拥有Facebook帐号的用户登录我的网站。

有关于此问题的其他任何提示吗? 基于ajax的Web应用程序的保护技术是否有任何来源或教程?

1 个答案:

答案 0 :(得分:2)

我曾经读过一个非常真实的声明:“AJAX安全性不是巫术 - 原则上相同的技术也适用于'普通'的网络应用程序。只有一个大问题:大多数人忘记了任何人都可以在浏览器地址栏中键入您用于珍贵的AJAX界面的URL“。这个陈述的要点最好在一个例子中解释。

假设您的应用中有管理员部分,这非常安全。但是现在一个非常常见的错误是开发人员认为页面本身是安全的,这意味着这些页面上的AJAX调用也是安全的。因此他们不关心保护它们并通过普通HTTP来回发送呼叫,根本不需要身份验证。

这绝对是默默无闻的,但是一旦有人找到了界面,他们就可以通过直接访问AJAX界面并简单地跳过管理部分的安全措施来访问数据。只需猜测就可以搞清楚界面。

一个好主意是对页面本身和从它发出的所有AJAX调用使用TLS / SSL。接下来,您将需要某种形式的身份验证,无论是无状态(每次都发送凭据 - 但这将需要后端每次检查它们)或通过建立会话令牌进行有状态。 OWASP有很多关于此主题和其他主题的背景信息。