我正在使用PhoneGap开发一个移动应用程序,它将通过ajax请求与服务器(PHP)进行通信。
在服务器端(PHP)
像https://example.com/retrieveData.php之类的东西
将通过$_POST['user_id']
获取用户ID,并将有关用户的一些敏感信息作为JSON返回。
在客户端(PhoneGap-Javascript) 将解析JSON输出并将在应用程序中使用。
我担心的是,如果有人窃取此网址(https://example.com/retrieveData.php),他可以手动发送虚假的帖子请求并窃取返回的用户信息吗?
如何确保此通讯安全?
答案 0 :(得分:3)
我担心的是,如果有人窃取此网址(https://example.com/retrieveData.php),他可以手动发送虚假的帖子请求并窃取返回的用户信息吗?
你是对的。任何人都可以向该网址发送消息,并获得结果,除非您检查authorizes请求的请求的某些部分。
例如,您可以authenticate检查请求是否来自用户,然后根据用户应该有权访问该信息的想法来授权请求。
或者,您可以根据只有有效请求者通过shared secret知道的内容进行授权,并依赖该URL的https
部分来防止共享机密变为公开。您向可信赖的合作伙伴提供秘密,当您通过PHP生成Web表单(也通过HTTPS保护)时,您将包含一个包含共享密钥的隐藏输入。这就是XSRF保护通常起作用的方式。
您应该考虑以下事项:
https
等安全渠道发送?如果(2)中的某些凭证满足(1)的所有(1)并且这些凭证仅通过(3)发送,那么您只需要在页面中检查(2)。否则,您需要重新设计应用程序架构,直到确实如此。
OWASP有一个Guide to Authorization可能派上用场,他们在查看授权代码时也有很多页面,但大多数示例都不是特定于PHP的。
答案 1 :(得分:1)
当然他可以发送他想要的任何帖子请求。解决此问题的唯一可能方法是使用服务器知道的身份验证,即客户端必须向您发送难以猜测的内容并在服务器中启动会话。
答案 2 :(得分:0)
正如其他答案所示,以下是使您的网络应用更加安全的策略: -
希望它有所帮助。