【问题标题】:Possible to connect hosted web application to local database?可以将托管的 Web 应用程序连接到本地数据库吗?
【发布时间】:2010-10-08 17:24:16
【问题描述】:

是否有任何技术允许托管 Web 应用程序连接到本地数据库?例如,假设我想为流行的销售点解决方案编写一些基于 Web 的软件。理想的情况是让客户输入他们的数据库连接凭据,并让应用程序连接到他们本地托管的数据库。

我为什么要这样做?

  • 软件使用门槛低:无数据导出/导入
  • 客户无需安装公开的 Web 服务
  • 对于具有私有数据集的 Web 应用程序(例如 ERP、POS、CRM),私有数据都可以在本地托管

这是白日梦吗?

【问题讨论】:

    标签: database web-applications database-connection


    【解决方案1】:

    除非您可以控制您的客户网络,否则这并不实用,因为 SQL Server 需要一个 TCP 端口来进行通信,并且该端口需要在您的客户网络上打开 - 并且可以通过开放的互联网公开访问(可能一个很大的安全问题)。这就是人们通常使用网络服务的原因——如果你破解了一个网络服务,那么,你可以使用网络服务……如果你破解了一个数据库,你可以对它做任何你想做的事情,包括以你喜欢的任何方式清除/破坏数据。

    默认的 SQL Server TCP 端口是 1433,但您可以根据需要更改此端口。

    否则,如果您不关心在您的客户网络上打开一个端口并让该端口从公共互联网向数据库开放,那么您实际上可以按照您的描述进行操作......我实际上已经自己完成了在开放的互联网上合并过去的复制项目。所以不,这不是白日梦 - 由于安全问题,这在大多数情况下几乎是不切实际的。

    不过,安全问题可以通过与服务器建立良好的安全加密连接来缓解。如果您想走这条路,请参阅http://msdn.microsoft.com/en-us/library/ms191192.aspx 了解更多详情。

    【讨论】:

    • 这是一个有趣的选项(打开 TCP)。但是,我不想在互联网上公开它。我看到这种连接发生在客户端,完全在防火墙后面。即使黑客要在 Web 应用程序上破解他们的用户帐户,他们对数据库的访问权限也是 0,除非他们在本地网络或 VPN 上。
    • 否:他们可以在 Web 应用程序中看到连接信息并访问您的数据库,就像您的数据库与您的应用程序在同一台服务器上一样容易。
    • 怎么样?有了我想要的,网络应用程序将存储本地数据库凭据。我不会向世界开放它。假设我是一名黑客,我登录并看到数据库地址是 192.168.2.25 - 除非我在同一个网络上,否则我无法连接到该数据库。因此,需要在客户端进行数据库连接。
    • 如果服务器没有连接到公共互联网上,你是对的,Jason Swetts 的评论是不正确的。如果我理解正确,您将通过我解释的方法实现您的目标。请接受我的回答,我相信我已经满意地回答了您的问题。
    • @vdoogs - 我将答案标记为已接受,但它并没有真正回答我的目标,即让用户输入本地(如 192.168.x.x)凭据并可能通过浏览器连接到该数据库扩展和 JavaScript。你的回答很好,我的问题可能还不够清楚。
    猜你喜欢
    • 1970-01-01
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    • 2014-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多