【发布时间】:2008-12-02 22:22:45
【问题描述】:
我正在寻找支持 SQL 限制和事务的 DBI(或类似)代理。我知道的两个是:
DBD::ProxyDBD::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