混合应用程序显然有点新,因此很难找到有关此问题的良好信息。我知道我需要在我的服务器端页面上允许跨源资源共享,但这显然增加了安全漏洞。在phonegap / cordova应用程序中,我只有客户端控制,对我的服务器端页面进行ajax调用。这意味着任何人都可以访问我的php页面。这意味着任何人都可以通过访问我的所有数据(如帐户信息等)来模仿我的应用程序。我的问题是如何确认只有我的应用程序访问这些页面?请提供具体的编码示例。
答案 0 :(得分:2)
我在这篇博文中回答了你的问题以及许多其他喜欢的问题:Client authenticity is not the server's problem。
应用程序安全性的最基本规则之一是输入验证。此规则如此基本的原因是因为您的服务器只对自身运行的软件具有控制权(和可见性)。 Internet上的每个其他设备都是一个黑盒子,您可以通过网络协议进行通信。你无法看到它在做什么,你只看到它发送的消息。
...
服务器应该对客户端保持不可知。
客户端上的软件和服务器上的软件应该相互不信任。应验证服务器收到的任何消息的正确性并小心处理。如果你能提供帮助,数据永远不应该与代码混合在一起。
...
外卖是:不要试图控制用户,而是集中精力使他们的不当行为对服务器的稳定性和完整性无关紧要。
答案 1 :(得分:1)
这个问题每天都在这里提出。
你想要做的事情在逻辑上是不可能的。没有解决方案。你无法控制客户。