【问题标题】:Swap Existing Javascript SQL Server Connection with Server-Side Connection on ASP.NET?用 ASP.NET 上的服务器端连接交换现有的 Javascript SQL Server 连接?
【发布时间】:2012-04-04 10:42:23
【问题描述】:

客户端计算机无权访问 SQL Server 端口,因此无法向客户端计算机开放该端口。

场景:我们有一个完全用 javascript 编写的旧客户端应用程序。 javascript 包含一个明文连接字符串,包括一个 sql server 帐户用户名和密码。我们还使用 ASP.NET 来托管其他应用程序。

我们希望将连接转移到服务器,而不必重写整个 javascript 应用程序。

有没有办法只用服务器端连接替换 .js 文件中的连接,而不必为 .js 文件中的每个数据函数编写 AJAX(或类似的)调用?

以下是在 SQL Server 端口更改之前客户端的连接方式:

var conn_str = "DRIVER=SQL SERVER;SERVER=MyServer;DATABASE=MyDb;UID=sqluser;PWD=mypassword;";

function openConn() {
    //alert("openConn() ");
    this.conn = getAdoDb("ADODB.Connection");
    conn.ConnectionTimeout = 240;
    conn.CommandTimeout = 240;
    conn.open(conn_str, "", "");
    //alert("Current Connection String: " + conn_str);}

上面的代码在一个包含数千行代码的javascript文件中。我们想简单地将 javascript 的这个连接部分替换为 ASPX 页面或 AJAX 或 .js 文件可能使用的东西。

【问题讨论】:

  • 您有问题吗?我们特别不喜欢“挑战”。尤其是那些没有告诉我们已经尝试过什么并且没有代码示例的那些。
  • 您究竟是如何通过 javascript 直接连接到 SQL Server 的?据我所知,没有可以直接与 javacript 一起使用的 SQL Server 数据库库。
  • 我已经添加了示例代码并清理了帖子。

标签: javascript asp.net sql-server


【解决方案1】:

有没有办法只用服务器端连接替换 .js 文件中的连接,而不必为 .js 文件中的每个数据函数编写 AJAX(或类似的)调用?

如果您打算使用服务器端技术,AJAX 只是一种选择。您可以将调整后的数据嵌入到页面中以供 javascript 使用(即输出 JSON 到页面)等。

您可以创建一个接受 SQL 和参数的通用服务器端数据函数,但需要验证传入的查询和参数以避免 SQL 注入和篡改。

在我看来,替换所有数据函数没有安全的方法。

【讨论】:

  • 安全不是必需的,除了在防火墙上打开 SQL Server 侦听端口不是一个选项。由于该帖子已被尖刺,因此这是一个很好的答案。这是你的投票。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-09
  • 1970-01-01
  • 1970-01-01
  • 2013-09-13
  • 2020-10-09
  • 1970-01-01
相关资源
最近更新 更多