直接从应用程序访问MySQL实际上有多安全?

时间:2011-11-28 13:35:11

标签: php .net mysql database security

我正在开发一个小应用程序,它将作为使用MySQL作为后端数据库的Web应用程序的查看器(某种仪表板)。应用程序只会执行SELECT,没有INSERT或UPDATE或任何更改数据的内容。我知道构建此应用程序的首选方法是创建一个可以访问数据库的Web服务,然后让客户端应用程序调用Web服务。这样您就可以真正保护MySQL数据库,只允许本地主机访问。

另一方面,拥有Web服务会大大增加应用程序所需的复杂性和资源。我不仅要编写两次进程,我还要编写两套测试套件和集成测试,并且由于客户端是用.net c#编写的,而后端是用php编写的,我必须开发某种交换格式并保持在整个开发过程中在两种语言和IDE之间切换。

我可能会写这项服务,但我想知道的是那里的经历是什么?我是否只是考虑直接从客户端访问MySQL,或者Oracle的优秀工程师在保护数据库方面做得不错,至少对于只具有读权限的用户来说,我是疯了。

2 个答案:

答案 0 :(得分:1)

只需确保从中获得数据库的用户无权执行不需要执行的任何操作,例如删除表。

具有只读权限的用户应该执行此操作

答案 1 :(得分:1)

如果您只是为了选择表而使用对mysql数据库的直接访问,那么您将需要只具有正确权限访问权限的用户才能确保访问安全。

但是您需要记住,如果您打开数据库端口以进行外部访问,则会暴露数据库中的任何安全故障。

如果您需要其他规则,例如特殊选择,只选择用户的组访问权限,则需要在数据库中编写读取parans的过程,并记住,如果某些用户利用您的应用程序,他将能够通过其他parans来咨询你的数据库。

不仅是oracle或mysql,所有数据库都有很多安全选项来提供外部访问,但是用于复杂的应用程序比制作服务层以确保安全访问更加困难。

默认情况下,您在直接SQL查询咨询中没有加密通信。