通用SQL查询侦听器
如何最好地编写一个位于通用SQL数据库(SQL Server、MySQL、Oracle等)前面并侦听SQL查询的应用程序 根据特定的查询类型,应用程序需要能够拦截(阻止传递到SQL数据库)或传递(发送到SQL数据库)查询通用SQL查询侦听器,sql,database,listener,Sql,Database,Listener,如何最好地编写一个位于通用SQL数据库(SQL Server、MySQL、Oracle等)前面并侦听SQL查询的应用程序 根据特定的查询类型,应用程序需要能够拦截(阻止传递到SQL数据库)或传递(发送到SQL数据库)查询 有没有一种方法可以通用地做到这一点,从而使它不与特定的数据库后端绑定?基本系统不是特别容易,但也不是非常困难。您可以创建一个守护进程,该守护进程在一个端口(或一组端口)上侦听连接尝试。它接受这些连接,然后建立自己与DBMS的连接,形成中间人中继/拦截点。主要问题在于如何进行配置
有没有一种方法可以通用地做到这一点,从而使它不与特定的数据库后端绑定?基本系统不是特别容易,但也不是非常困难。您可以创建一个守护进程,该守护进程在一个端口(或一组端口)上侦听连接尝试。它接受这些连接,然后建立自己与DBMS的连接,形成中间人中继/拦截点。主要问题在于如何进行配置,以便:
我有一个运行在Unix上的守护进程,它适用于一个特定的DBMS。它可以处理大部分信息,但不会试图干扰加密通信;它只是记录了双方对对方说的话。如果您需要代码,请与我联系-请参阅我的个人资料。许多部件可能可以与其他DBMS一起重用;其他部分完全是为特定的DBMS设计的。您所描述的听起来很难做到。您能解释几个拦截SQL查询的用例吗?也许有一种更简单的方法。我想我的应用程序可以在一个端口上侦听SQL查询,如果不侦听,可以将查询转发到SQL数据库正在侦听的端口。基本用例只是一个“SQL查询过滤器”,它禁用除SQL数据库之外的特定查询仅侦听MS SQL server的端口,更不用说任何数据库可能很困难,因为它可以配置为使用动态端口(每次启动时都会更改)。为什么不使用标准的安全特性来禁用特定的查询呢?+1感谢我第一次想到Guardium。谢谢你提供的好信息。