我正在开发一个小应用程序,它将作为一个使用MySQL作为后端数据库的web应用程序的查看器(某种仪表板)。应用程序将只执行SELECT,而不执行INSERT或UPDATE或任何更改数据的操作。我知道构建此应用程序的首选方法是创建一个可以访问数据库的web服务,然后让客户端应用程序调用该web服务。这样,您就可以真正保护只允许本地主机访问的MySQL数据库。
另一方面,拥有web服务会大大增加应用程序所需的复杂性和资源。我不仅要写两次这个过程,还要写两套测试套件和集成测试,而且由于客户端是用.net c#编写的,后端是用php编写的,所以我必须开发某种交换格式,并在整个开发过程中保持在两种语言和IDE之间切换。
我可能会写这个服务,但我想知道的是那里的体验是什么?仅仅考虑从客户端直接访问MySQL,或者甲骨文的优秀工程师已经在保护他们的数据库方面做了很好的工作,至少对于只有读权限的用户来说,我是不是疯了。
发布于 2011-11-28 21:51:34
如果您使用直接访问您的mysql数据库只是为了选择表,您将需要只有权限访问的用户,以确保访问的安全性。
但您需要记住,如果您打开数据库端口以供外部访问,数据库中的任何安全故障都将暴露出来。
如果您需要其他规则,例如仅选择来自用户的组访问的特定选择,您将需要在数据库中编写读取parans的过程,并记住,如果某些用户利用您的应用程序,他将能够通过其他parans来查询您的数据库。
不只是oracle或mysql,所有的数据库都有很多的安全选项来提供外部访问,但要用于复杂的应用程序比建立一个服务层来确保安全访问更加困难。
默认情况下,在直接SQL查询咨询中没有加密通信。
发布于 2011-11-28 21:43:30
只需确保它访问数据库的用户没有权限做任何不需要做的事情,比如删除表。
具有只读权限的用户应执行此操作
https://stackoverflow.com/questions/8296567
复制相似问题