安全的ajax Web服务/ Web服务代理

时间:2011-04-08 09:14:06

标签: ajax web-services security proxy reverse-proxy

我有一个web服务,我的网站使用ajax消费。因为我使用ajax我不能对我的webservice有ip限制。我知道我总是可以通过使用代理来调用我的webservice来添加额外的安全层,而ajax代码调用代理而不是webservice。这样我总是可以限制对我的webservice的访问,只允许来自代理的请求

但最终问题没有解决。也就是说,任何智能终端用户都可以随时通过我的ajax代码了解代理网址,并向此代理发送请求以访问所有网络服务数据

如何保护我的网络服务(有或没有代理),以便它只提供来自我网站的请求

我总是可以在我的代理中使用http_referrer检查,但这很容易入侵...

有这种做法的简单方法

1 个答案:

答案 0 :(得分:0)

实现此目的的一种方法是为您的网站使用双向SSL身份验证。

  

在双向SSL身份验证中,SSL   客户端应用程序验证   SSL服务器的标识   应用程序,然后是SSL服务器   应用程序验证身份   SSL客户端应用程序。

     

双向SSL身份验证也是如此   称为客户端身份验证   因为应用程序充当了   SSL客户端将其证书提供给   SSL服务器之后的SSL服务器   对SSL进行身份验证   客户端。

这样,在执行任何WS请求之前,您的WS将首先检查您的客户端是否具有有效的SSL证书。如果没有,那么WS将不会执行。实现双向SSL需要两端配置,实现起来可能稍微复杂一些。但是,一旦设置,这是一种非常安全的方式来调用您的Web服务并确保只有授权的客户端(已经拥有证书)才能进行这些调用。因此,您的AJAX代码可以调用Servlet,而Servlet又可以调用此服务。这样,您的服务网址也不会暴露给浏览器。