Web应用程序中的原始查询执行程序 - 生产环境

时间:2016-03-04 02:16:26

标签: sql asp.net database security web-applications

我有一个连接到数据库的ASP.NET Web应用程序,该数据库安装在生产环境中的多个客户端中。

其中一些客户端管理关键信息(在其他模式中,不能访问Web App,如人们的钱),因此,如果需要,可以直接在数据库中执行脚本以修复Web应用程序中的内容,这需要时间以及认可,有时需要数周......

由于我的一些客户具有易变性,我的Web应用程序必须在很短的时间内管理很多更改,这意味着数据库中的脚本执行会改变数据或架构,这意味着浪费时间! / p>

长话短说,我的问题是,实现一个页面是一个很好的做法,只有管理员用户才能直接对数据库执行原始查询? 在适当管理安全问题的情况下进行思考。 类似于:Sql Pad,您无法看到整个数据库系统,只有查询和结果,因为目标数据库只有一个。

1 个答案:

答案 0 :(得分:1)

没有。这是一个糟糕的主意。安全问题可能无法管理 - 公共互联网上可用的网页为登录用户授予架构修改权限是一个可怕的安全风险。即使你无法进入另一个模式,你也可以通过编写消费者所有CPU,内存或磁盘空间的简单SQL轻松地使服务器瘫痪。

这也很糟糕,因为你失去了在哪个环境中安装了哪些更改的轨道。

如果IT部门在从管理工作室运行时不会批准您的脚本,他们肯定不会让您通过Web界面自行解决。

我总是通过自动部署脚本解决这个问题 - 执行架构更改等,作为安装新版Web应用程序的一部分。这样,您可以在运行更改之前备份数据库,跟踪版本控制和控制访问。