任何非局域网软件都不能直接连接数据库,别说app了,实在太危险了。互联网的服务器端开发有个基本原则,不要相信任何客户端数据。谁知道在生产期内服务器收到的数据是来自正常的客户端,还是被修改过的呢。
一、为什么移动设备上不使用直接远程数据库
任何非局域网软件都不能直接连接数据库,别说app了,实在太危险了。互联网的服务器端开发有个基本原则,不要相信任何客户端数据。谁知道在生产期内服务器收到的数据是来自正常的客户端,还是被修改过的呢。
虽然还有很多古老的程序在用,但这种做法真的很危险,数据直接依靠一个到处传播的密码保护,为了好记,这密码一般还很简单。这个是分分钟作死的节奏。事实上就算在局域网,这个也是个安全隐患。
安卓和iOS是可以直连数据库的,但我们不会这么用。因为:安全性得不到保障。
通过逆向工程,很容易就可以获得服务器地址、端口、用户名和密码。有了这些,一个不懂编程普通人都可以通过NAVICAT操作你的数据库。
所以,我们会开发中间件(或者采用已有的商用、免费中间件)。
延伸阅读:
二、什么是数据库
数据库就是英文的“database”翻译来的,data + base,故名思义就是数据的根源,数据的基础。那么为什么要有数据库呢,数据库首先是个计算机软件,在所谓数据库诞生之前,常用方法可能是程序员自己写一个小程序来完成数据处理分析这样的工作。
伴随着计算机的普及,越来越多的场景开始使用计算机,产生了越来越多的数据,也催生了越来越多的数据分析需求。为了降低数据分析的门槛,让更多人能够更方便高效地管理分析数据,工程师们就打造了一种专门的软件来帮助人们对数据进行合理的存储以提高存取效率,提供易用的接口和丰富的分析算法以方便使用,集成有效的管理工具以提高数据安全性等等,这就是数据库,也被称为数据库管理系统(DBMS,Database management system)。
数据库是一整套数据管理体系,包括数据存储的模型、数据组织的架构、数据分析的算法、数据管理的工具以及数据访问的接口等等。