从Android应用程序连接到MySQL数据库有多安全?

时间:2015-03-23 18:27:28

标签: php android mysql security

我正在处理Android应用程序,它处理一些稍微敏感的信息(名称,用户名,密码,徽章编号等)......就代码工作而言,我知道如何使用PHP连接到MySQL数据库并通过JSON从中提取信息。我只是担心这样做的安全性。我知道有很多Android和iPhone应用程序目前正在实施登录系统,但我很好奇这些登录的安全性。

有谁知道在哪里可以通过Android应用程序找到有关使用PHP和MySQL为我的登录系统创建与数据库的安全连接的一些信息?我知道没有什么是完全无法穿透的,但我想确保我的应用程序的安全性尽可能紧。

与往常一样,我仍然习惯StackOverflow,所以如果我不清楚或者这个问题已经得到解答,请告诉我!

4 个答案:

答案 0 :(得分:1)

从应用程序连接到远程数据库是非常不安全的。可以把它想象成在浏览器中从javascript连接到数据库,因为它具有相同的安全级别。

重要的是,

  

稍微敏感的信息(姓名,用户名,密码,徽章编号等)。

密码不是很敏感,它们非常敏感。我不确定您是否暗示密码是以可逆格式存储的,而是they should be hashed

无论如何,对于您的主要问题,您需要创建一个提供有限访问权限的API,而不是直接从客户端设备连接到数据库。您可以使用某些服务器端编程以Web服务的形式编写它。从那里,您只需使用基于当前登录用户的API密钥/角色。这是设计此系统的安全/正确方法。您不希望将db凭据放在应用程序中,除非它们用于手机上的本地数据库。

答案 1 :(得分:1)

如果您正在推出自己的身份验证代码,那么很难说它有多安全。通常人们会犯这种可怕的错误而代码会产生相反的效果:它不会保护网站,而是暴露出几个可以用来劫持它并下载任意数据的严重漏洞。

development framework之类的Laravel内置authentication system。如果该社区审核的代码存在漏洞,通常会发布一条通知,以便您了解并根据需要进行修补。

如果你遵循最佳做法,你应该没事。如果你想保持简单和安全,可以通过PHP或任何其他语言使用JSON。

答案 2 :(得分:1)

很难获得100%,但你可以使用像

这样的技术
  1. SSL
  2. 每个用户的会话
  3. 类似于通过短信发送的验证码
  4. 通过API调用等发送之前的加密数据

答案 3 :(得分:1)

为了扩展格雷所说的内容,您可以将JSON数据通过您传送到为您的数据库提供前端的网络服务的网址传递。还有其他几个例子that you can find here to start.正如所指出的,拥有直接数据库访问权限是一个非常糟糕的主意。即使有前端,您也要确保在前端进行大量数据检查。不要通过直接的SQL查询!他们太容易入侵了。 SQL注入仍然是最成功的攻击技术之一。

您可能会考虑将移动后端作为服务提供商,例如Kii,Kumulos,Kinvey,Kony(不确定为什么它们都以K ...开头)或者build.io。他们会花钱给你,但让你头疼。