2016-04-28 69 views
0

我有一个Spring Web服务,我从我的网站(html页面)调用,所以任何人都可以从html页面的源代码中检索webservice URL。限制访问REST webservice

两个互联网服务和网站都部署在同一台服务器(ID地址:XYZT)

我的目的是防止别人调用REST服务没有通过我的网站

传球有什么办法限制对web服务的访问,以便只能通过id地址XYZT(部署网站的位置)调用它?

或者换个方式吗?

感谢您的帮助!

+0

您的网站可能会部署在您的服务器上,但是如果用户访问您的网站,则页面和Ajax请求会在用户PC上运行。如果您想限制访问,请使用基于用户的身份验证。 – dunni

+0

[REST - 如何限制未经授权的客户端软件访问]的可能重复(http://stackoverflow.com/questions/14058603/rest-how-to-restrict-access-for-not-authorized-client-software) – andrucz

+0

看看http://programmers.stackexchange.com/questions/219028/how-to-safeguard-a-rest-api-for-only-trusted-mobile-applications – andrucz

回答

0

你可以在浏览器中使用类似CORS的东西。

https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

但人们用爬虫等(在浏览器之外)仍然可以抓住你的网站。即使添加了某种身份验证,也无法阻止此操作。例如,人们总是能够为登录名写入自动化,然后抓取您的网站。