iOS与mysql数据库连接的安全性
Posted
技术标签:
【中文标题】iOS与mysql数据库连接的安全性【英文标题】:Security of connection between iOS and mysql database 【发布时间】:2014-06-24 10:31:49 【问题描述】:我正在寻找一种从 ios 应用程序读取/写入服务器上的 mysql 数据库的方法。 有很多答案建议在服务器上制作一个 php 脚本并将响应回显为 JSON。 我的问题是:这样做安全吗? 我认为每个有防火墙的人都可以看到我的应用程序指向的位置并自行运行脚本,这样他就可以读取我的所有数据,不是吗?
【问题讨论】:
请求是否经过身份验证? 是的,如果我使用经过身份验证的请求,是否有人可以破解系统? 这完全取决于您的实现细节,无法回答。一般来说,如果代码是正确的,并且您只通过 TLS 进行经过身份验证的请求,那么问题就会最少。 【参考方案1】:作为一个基本原则,是的,使用 php 脚本来提供 RESTful 接口是一个好主意。
是的,人们将能够看到您指向的网址,因此您需要适当考虑安全性。使用 SSL 是一个开始,通过 POST 发送数据,并且可能包括某种身份验证来尝试减少不需要的连接数量,我相信这里还有其他选项。你也可以考虑使用某种加密,虽然那有点超出我的专业领域
除此之外,您应该始终确保您的输入已经过净化,使用 php 脚本确保只运行您想在数据库上运行的查询。将请求类型和参数发送到 php 脚本,让它清理输入并自行构建查询。
【讨论】:
【参考方案2】:创建一个像 api 一样的服务器端脚本(使用任何脚本/服务器端语言),它可以准确返回您的应用所需的内容。因此,您不允许客户端转储所有内容并确保您的查询参数已被清理(最好使用一些 ORM 映射框架而不是连接查询字符串)
【讨论】:
以上是关于iOS与mysql数据库连接的安全性的主要内容,如果未能解决你的问题,请参考以下文章
MySQL与Redis数据库连接池介绍(图示+源码+代码演示)