移动应用程序避免或保护CORS?

Chr*_*ris 13 java security ajax web-services cors

我想知道是否有一个行业标准可以更好地保护移动设备上的ajax呼叫.

我的移动应用程序由我的网站的html,js和css文件组成 - 但是在移动设备上本地安装它们以提高性能.移动设备的本地index.html然后调用我的Web服务器获取数据(在本例中为Tomcat).

我发现这个工作的唯一方法是在我的servlet中启用CORS:

response.setContentType("text/html");
response.addHeader("Access-Control-Allow-Origin", "*");
response.addHeader("Access-Control-Allow-Methods", "GET, PUT, POST, OPTIONS, DELETE");
response.addHeader("Access-Control-Allow-Headers", "Content-Type");
response.addHeader("Access-Control-Max-Age", "86400");
Run Code Online (Sandbox Code Playgroud)

但老实说,我出于各种原因不喜欢它,但主要是 - 现在任何东西都可以从任何领域查询我的网络服务器并获得回复......

如何从使用CORS的移动设备实现对我的网络服务器的相同ajax调用 - 但是以更安全的方式,以便允许我的应用程序访问?

**或者**在这种移动设备的情况下,CORS是否完全错误,并且有更标准/更理想的解决方案?

Iro*_*ght 1

而 OAuth 是企业/长期解决方案。对于周末项目,

您是否可以考虑将方法限制为仅 GET 或所需的少数方法,并且仅提供对特定资源的访问?

这是我使用的一种解决方法。

我在 tomcat 上的 Angular js 应用程序与安静的后端应用程序交互时遇到了类似的问题。

我创建了一个java应用程序并托管在托管Angular的同一个tomcat上。该 Java 应用程序调用后端。后来我用grunt和nodejs替换了tomcat/java应用程序。效果很好。

Nodejs,中继请求是 4 行代码:-)