【问题标题】:Raw query executor in Web Application - Production EnvironmentWeb 应用程序中的原始查询执行器 - 生产环境
【发布时间】:2016-06-17 15:26:09
【问题描述】:

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

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

由于我的一些客户的现实情况不稳定,我的 Web 应用程序必须在短时间内管理大量更改,这意味着在数据库中执行脚本以更改数据或架构,这意味着浪费时间!

长话短说,我的问题是,只为管理员用户实现一个直接对数据库执行原始查询的页面是一种好习惯吗? 考虑安全问题得到妥善管理的场景。 类似:Sql Pad,你看不到整个数据库系统,只有查询和结果,因为目标数据库只有一个。

【问题讨论】:

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


    【解决方案1】:

    没有。这是一个可怕的想法。安全问题可能无法管理 - 公共互联网上提供的向登录用户授予架构修改权限的网页是一个可怕的安全风险。即使您无法使用另一个模式,您也可以通过编写简单的 SQL 来轻松地让服务器瘫痪,这会消耗所有 CPU、内存或磁盘空间。

    这也很糟糕,因为您忘记了在哪个环境中安装了哪些更改。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-18
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      • 2018-04-26
      • 2013-03-06
      相关资源
      最近更新 更多