【问题标题】:Is there a DBI proxy that handles SQL restrictions and transactions?是否有处理 SQL 限制和事务的 DBI 代理?
【发布时间】:2008-12-02 22:22:45
【问题描述】:

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

  • DBD::Proxy
  • DBD::Gofer

DBD::代理

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

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

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

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

DBD::Gofer

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

约束

...

您不能使用交易

仅自动提交。不支持交易。

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

【问题讨论】:

    标签: perl security proxy dbi dbd-proxy


    【解决方案1】:

    这个问题最好在 DBI 用户邮件列表dbi-users@perl.org 上提出。 注册http://dbi.perl.org/

    我不确定您所说的 DBD::Proxy 限制查询是什么意思。在我唯一一次使用它的情况下,它根本没有修改查询。

    【讨论】:

    • 在 DBI::ProxyServer POD 中查找“限制”。这将解释 SQL 限制。我认为答案是“没有”。我写了我的应用程序特定的。但无论如何我都会选择这个作为答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 2018-09-10
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多