是否有处理SQL限制和事务的DBI代理?

时间:2008-12-02 22:22:45

标签: perl security proxy dbi dbd-proxy

我正在寻找支持SQL限制和事务的DBI(或类似)代理。我知道的两个是:

  • DBD::Proxy
  • DBD::Gofer

DBD ::代理

我在DBD::Proxy找到的问题是它的服务器DBI::ProxyServer不仅限制通过网络(我想要的)进入的查询,而且还限制了生成的查询内部由数据库驱动程序。因此,例如,使用DBD::Oracle,ping不再有效,以及它自己发布的许多其他查询。

我不能只允许他们,因为:

  • 这是DBD :: Oracle的一些内部知识,而且非常脆弱。
  • 白名单为query_name => 'sql',其中query_name是传递给prepare的任何内容的第一个字。 DBD :: Oracle有很多内部查询,其中许多内容的第一个单词是select(duh)。

所以,似乎我不能使用DBD::Proxy

DBD :: GOFER

我没有尝试过DBD :: Gofer,因为文档似乎告诉我我不能通过它来使用交易:

  

约束

     

...

     

您无法使用交易

     

仅限AutoCommit。不支持交易。

那么,在我编写自己的特定于应用程序的代理(使用RPC::PLServer?)之前,是否有解决此问题的代码?

1 个答案:

答案 0 :(得分:0)

最好在DBI用户邮件列表dbi-users@perl.org上询问此问题。 在http://dbi.perl.org/

注册

我不确定你对DBD :: Proxy限制查询的意思。在我使用它的唯一场合,它根本没有修改查询。