Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 最小化数据库的价值_Android_Ios - Fatal编程技术网

Android 最小化数据库的价值

Android 最小化数据库的价值,android,ios,Android,Ios,我正在考虑创建一个应用程序,该应用程序将包含会员计划的个人用户信息、基本信息、姓名、dob、用户ID和有效的起始/终止日期 我想减少黑客攻击和数据被盗的情况。所以我想我会在数据库中添加用户信息,当用户第一次登录时,应用程序会连接到数据并将用户信息下载到他们的手机上,所有个人数据都会从数据库中删除,ID用于应用程序显示有效起止日期等 我不熟悉iOS/Android应用程序开发。我是否可以将其存储在单独的文件中并下载到应用程序包中的用户区域,或者将数据库下载到手机上,以及何时需要更新应用程序?这不是

我正在考虑创建一个应用程序,该应用程序将包含会员计划的个人用户信息、基本信息、姓名、dob、用户ID和有效的起始/终止日期

我想减少黑客攻击和数据被盗的情况。所以我想我会在数据库中添加用户信息,当用户第一次登录时,应用程序会连接到数据并将用户信息下载到他们的手机上,所有个人数据都会从数据库中删除,ID用于应用程序显示有效起止日期等

我不熟悉iOS/Android应用程序开发。我是否可以将其存储在单独的文件中并下载到应用程序包中的用户区域,或者将数据库下载到手机上,以及何时需要更新应用程序?这不是一个好的系统设计 事实上,如果一个系统设计得当,以安全为中心,并部署在一个设计恰当的环境中,那么这不应该是一个会导致最终用户出现此类潜在问题的问题

事实上,在设计合理、受控的系统上,用户数据要比在用户设备上安全得多;你知道有多少人的手机上没有密码,或者他们的出生日期没有密码?我认识很多这样的人,从逻辑上讲,他们手机上的密码

您还提到数据将从数据库中删除。如果出现支持票证,它将如何返回到该数据库中?如果是通过电子邮件发送给你,那将是一个更大的安全风险,因为

你应该怎么做 构建一个web服务,使其位于应用程序和数据库之间 将登录详细信息从应用程序传递到web服务,并在那里执行身份验证/授权。如果成功,请传回某个描述的访问令牌。使用过期时间值将此访问令牌保存到数据库。 让应用程序调用各种api端点,将访问令牌作为授权标头的一部分传递,这样它就不会被缓存或最终出现在代理和web服务器等的日志中。如果令牌有效,请完成请求并从web服务将请求的数据返回给应用程序 注销/退出时,如果存在安全问题,请让应用程序从设备内存中删除任何敏感信息。 附加说明 与任何此类设计一样,您应该确保所有通信都通过安全通道完成。 确保密码以安全格式存储,而不是以明文形式传输或存储在任何地方。在传输过程中使用安全的密码通道,有利于存储密码或考虑实现。 确保仅允许从web服务而不是更广泛的internet直接访问数据库 确保您的Web服务清理输入、转义输出并且不易受到攻击。 这种方法的好处显而易见:

只要使用正确的工具保护环境,您的应用程序数据就会保持安全。如果您选择了正确的托管提供商,他们也将能够提供帮助和支持,保护您的web服务器和数据库

如果用户更改了设备、注销或其他任何情况,他们可以根据需要重新登录。这将满足用户已经确定的期望,并减少潜在的支持电话

如果您决定以后扩展应用程序的功能,您可以向数据库添加新表,向Web服务添加新端点,并在应用程序中添加新功能以使用所述端点

许多用户往往有重复使用密码的坏习惯;使用设计合理的系统,您可以审核登录尝试,在多次不正确的密码尝试后将用户锁定一段时间,强制密码过期或重置,并允许根据安全意识更强的用户的突发奇想自行维护密码更改


是什么让你相信数据库中的数据是不安全的,而手机内存中的数据是安全的?@VivekMishra如果有人入侵数据库,那么他们可能会拿走所有的数据。如果只是将必要的数据移动到手机上,然后从数据库中删除,则数据库中基本上没有任何有价值的数据。数据库存储在手机的内部存储器中,因此有人可以侵入您的数据库,然后他们肯定可以访问下载的文件too@VivekMishra你误解了,是我的错,此实例中的数据库是联机数据库,而不是手机的一部分。因此,在第一次登录时,用户数据会从在线数据下载到手机数据,然后从在线数据中删除。因此,根据您的要求,一旦您删除了数据,用户将如何在其他设备上登录,例如他/她购买的新手机?我认为这非常有用。我会澄清一些事情。我持有的数据是基本的用户数据名称,dob,图片,没有你在用户pho上找不到的东西
不管怎样,我不知道。在一部手机上,它是没有价值的,但在一个企业数据库中列出的数以千计的人给安全和GDPR带来了麻烦。我确信,无论您在上面提到采取什么步骤,都会有人做一些事情,数据库的安全性将被削弱,而且无论您做什么,数据库都会在某个时候受到损害。因此,即使以可用性为代价,我也希望数据库中的数据量最少。问题是,你的方法根本解决不了这个问题。如果你非常担心这些问题,那么最好让其他人以更安全的方式为你构建和托管该系统。虽然你不应该为了可用性而牺牲安全性,但你也不应该为了本质上的偏执而牺牲可用性。社交网络、在线服务、银行、地方当局和私人公司都在做我上面概述的事情,虽然你不能将风险降低到零,但可以采取措施强化环境,降低其对攻击者的吸引力。我不会称之为偏执狂,这是一种非理性或妄想性的恐惧。正如你提到的,社交网络、在线服务、银行、地方当局、NASA、FB、FBI、CIA都做了你提到的事情,他们都遭遇了安全漏洞。我不认为我的方法不能解决安全问题。