我正在构建一个需要服务器端处理的移动应用程序。我使用LAMP创建了服务器端,应用程序只使用URL调用相应的php页面来请求数据。例如,对于注册,我创建了signup.php,app调用了signup.php来验证应用的登录凭据。我还有php脚本来说明用户请求的产品的产品信息。此时,这些PHP页面可以公开访问,即使它们会返回空白页面。但是,我如何确保这些PHP页面只能由我的移动应用程序访问?如何让它更安全?
此外,手机上的用户只需要注册一次。注册后,他会一直登录,直到他卸载应用程序。
答案 0 :(得分:1)
您可以做的是拥有每台设备的身份验证。当您的用户在应用程序中注册时,应用程序会向服务器发送带有凭据的请求。如果凭据正常,则生成唯一的哈希。您将此哈希值存储在用户附近 - 直接存储到用户表,或者存储到关联的表中(取决于您是否允许多个设备签名到一个用户)。每次向服务器发送请求时都会发送此哈希。根据哈希,您可以查找用户并知道您正在与谁打交道。
此哈希值可能会在一段时间内重新生成(您将新哈希值发送到设备并再次存储它)。
此外,您可以使用一些secrete密钥为每个请求创建校验和。比你在服务器上创建校验和并进行比较。请注意,如果密钥存储在代码中,任何人都可以获得它。此密钥也可以从服务器发送。
很明显服务器应该是HTTPS。