我有一个web服务,我的网站使用ajax消费。因为我使用ajax我不能对我的webservice有ip限制。我知道我总是可以通过使用代理来调用我的webservice来添加额外的安全层,而ajax代码调用代理而不是webservice。这样我总是可以限制对我的webservice的访问,只允许来自代理的请求
但最终问题没有解决。也就是说,任何智能终端用户都可以随时通过我的ajax代码了解代理网址,并向此代理发送请求以访问所有网络服务数据
如何保护我的网络服务(有或没有代理),以便它只提供来自我网站的请求
我总是可以在我的代理中使用http_referrer检查,但这很容易入侵...
有这种做法的简单方法
答案 0 :(得分:0)
实现此目的的一种方法是为您的网站使用双向SSL身份验证。
在双向SSL身份验证中,SSL 客户端应用程序验证 SSL服务器的标识 应用程序,然后是SSL服务器 应用程序验证身份 SSL客户端应用程序。
双向SSL身份验证也是如此 称为客户端身份验证 因为应用程序充当了 SSL客户端将其证书提供给 SSL服务器之后的SSL服务器 对SSL进行身份验证 客户端。
这样,在执行任何WS请求之前,您的WS将首先检查您的客户端是否具有有效的SSL证书。如果没有,那么WS将不会执行。实现双向SSL需要两端配置,实现起来可能稍微复杂一些。但是,一旦设置,这是一种非常安全的方式来调用您的Web服务并确保只有授权的客户端(已经拥有证书)才能进行这些调用。因此,您的AJAX代码可以调用Servlet,而Servlet又可以调用此服务。这样,您的服务网址也不会暴露给浏览器。