我正在创建一个服务器(PHP)来存储来自Android应用程序的数据。使用POST查询商店名称,密码和电子邮件。提到的这些数据存储在服务器(托管数据库)上。 但我有很多问题如何正确地做到这一点:
请留言。还要描述我的问题的每一段,并且每个段落最好发布一个包含有用信息的链接。此外,我将非常感谢与此主题相关的任何有用的链接,特别是您的意见以及如何做到最好。
答案 0 :(得分:3)
我假设你正在尝试创建一个基本的注册/登录使用这个应用程序机制。
就内部存储而言,不可能阻止其他已安装的恶意应用程序读取和使用您存储的数据,除非您(我不熟悉)将它们存储在只能由您自己的应用程序访问的存储中
有些服务器会将OAuth tokens分发给客户端,例如GitHub。但是,如果您只希望自己的应用程序使用服务器登录API,则在这种情况下不需要OAuth,因为它主要用作灵活的权限承载,您不需要关心自己的应用程序。
相反,更重要的是你如何处理服务器端的事情。对于我曾为自己的服务器编写的Web API,虽然我不希望其他人使用它,但我将API设计为公众使用,并注意意外的客户端输入。这是因为客户可能随时都是假的,所以永远不要相信客户输入的完整性。 (原谅我的痴迷,但我甚至认为我在网页上的JavaScript后端作为“客户”是安全的)
我从未使用过,也没有任何关于其他PHP框架的全面知识,但是当我在我的网站上工作时,我会在自己的后端代码中创建一个安全层。我将后端分为两个级别,即数据库级别和接口级别。数据库级别应该尽量不让接口级别获取客户端(当前的身份验证状态)不应该知道的数据,以便最大限度地减少安全漏洞的可能性。
所以这只会留下数据传输的问题,这是这个问题的主要观点。
如上所述,HTTPS足以加密数据传输。
我不知道这个概念是否切实可行,但是在初次注册后,如果你足够痴迷,可能会用时间戳加密数据等等。我对此不太确定,但是{{ 3}}在此激发了我的灵感。
但您需要多少保护仍取决于您发送的数据类型。例如,如果您只是跟踪用户使用情况,则实际上并不需要对其进行大量保护。只需确保用户的原密码不能通过散列来泄露。