Security 到MS Access数据库的安全ODBC网络连接

Security 到MS Access数据库的安全ODBC网络连接,security,ms-access,ssl,odbc,Security,Ms Access,Ssl,Odbc,请原谅我的愚蠢,我不知道这是否可能 情况是这样的 有一个MS Access“数据库”(是的,我知道,相信我,我知道),我需要从远程位置进行选择、更新和插入。问题是这需要安全地进行 我可以完全控制托管MS Access文件的远程机器,因此我可以随心所欲地输入驱动程序和软件。服务器是Microsoft Windows server 2003 我本来打算采取的方法是在HTTPS服务器上托管一个PHP脚本(使用Apache或IIS,这无关紧要),将XML发送到PHP脚本,然后PHP脚本在MS Acces

请原谅我的愚蠢,我不知道这是否可能

情况是这样的

有一个MS Access“数据库”(是的,我知道,相信我,我知道),我需要从远程位置进行选择、更新和插入。问题是这需要安全地进行

我可以完全控制托管MS Access文件的远程机器,因此我可以随心所欲地输入驱动程序和软件。服务器是Microsoft Windows server 2003

我本来打算采取的方法是在HTTPS服务器上托管一个PHP脚本(使用Apache或IIS,这无关紧要),将XML发送到PHP脚本,然后PHP脚本在MS Access数据库上执行操作,并将XML结果发送回。然而,由于时间的限制,我试图弄清楚是否可以通过ODBC以安全的方式直接连接,并让它与MS Access数据库通信

据我所知,ODBC并不以其安全性而出名,但有一些ODBC驱动程序支持加密连接,或者我可以通过SSL以某种方式将ODBC连接隧道化。但是,到目前为止,我找到的所有信息都依赖于Microsoft SQL数据库

我特别感兴趣的是,是否有方法在不考虑底层数据库的情况下对ODBC连接进行SSL加密。我可能自己可以在Unix克隆上找到答案,但主机是Windows Server 2003,在这种情况下,我不知道如何继续


这可能吗?任何信息高度赞赏

通常在客户端和数据库之间放置一个中介。中介处理身份验证、授权、安全数据传输等。您假设数据库位于防火墙内的安全区域内。您希望添加的所有内容都由中介机构处理,以确保防火墙之外的客户端的安全

作为一个Java人,我会自然而然地认为web客户机与一个或多个servlet对话。让servlet处理身份验证和授权。HTTP意味着不用担心防火墙。您也可以使用HTTPS


我认为这更容易落实。此外,即使是SSL化的ODBC连接也会将数据库暴露在更广泛的Internet上。我不希望我的数据在这样的存储库中。您愿意吗?

这里的问题是您不太了解ODBC连接如何与access一起工作。这里我们不是在谈论TC/IP或基于socket的连接

如果您查看JET访问文件的任何连接字符串,您会看到在ODBC连接中将始终,我重复始终包含一个完全限定的windows路径名。当我说一个完全限定的windows路径名时,我指的是硬盘上的一个文件

最后,我们将讨论如何打开一个普通的Jane windows文件。马是马是马,windows文件是windows文件,是windows文件

换句话说,我们谈论的是打开硬盘上的文件。因此,整个过程与打开excel文件、文本文件、PowerPoint文件,或者在本例中打开恰好位于硬盘上的access文件没有任何区别

在此文件设置的计算机上不需要安装任何服务器或特定的数据库软件。客户端必须拥有该软件并执行标准的windows文件打开命令,才能从磁盘驱动器中取出数据。请记住,当您将word文件放在服务器上并打开它时,您不必在服务器上安装word,客户端正在打开windows标准文件,而JET在打开access文件时也会遇到同样的情况

这意味着,如果要通过Internet连接打开此文件,则必须通过Internet扩展windows网络。HTTP,甚至FTP在远程与windows文件网络协议没有什么相似之处

但是,您可以通过Internet扩展windows网络系统,这通常是通过VPN(虚拟专用网络)来完成的。这意味着您必须设置VPN。因此,这将允许您通过网络邻居查看另一台计算机,并浏览到服务器上该文件夹上的文件,然后简单地打开它。再次打开标准windows文件时,服务器上运行的服务类型无法与SQL server连接

您可以阅读我的以下文章,我将解释为什么在Internet上使用windows网络和JET(访问)文件运行VPN无法以可靠的方式工作:

因此,请记住,如果查看任何JET ODBC连接字符串,您会注意到它从来都不是基于IP的,但必须是完全限定的标准windows文件名。我不能再强调和重复,我们谈论的是我们将要打开的标准windows文件名和位置

请记住,这与打开word、excel或PowerPoint没有什么不同。ODBC驱动程序混淆了这个问题,因为驱动程序只需要在客户端安装和设置,服务器端没有任何东西可以连接两个驱动程序,除了打开标准的纯windows文件所需的功能

因此,您可以通过VPN尽可能地询问问题,但这并不实际。您可以阅读上面的文章,它详细解释了为什么这不能可靠地工作和功能

随着SQL server的几个免费版本的出现,以及许多其他选择,上述限制可能不会成为您的问题。这些其他服务器数据库系统不是基于文件的,您的连接字符串永远不会解析为某个文件名。因此,这些数据库服务器也不需要windows networking proto调用来打开该文件,因此您甚至可以连接到运行linux等甚至没有安装windows networking的服务器。为了一个j