bonsvr Asked: 2013-03-12 12:32:42 +0800 CST2013-03-12 12:32:42 +0800 CST 2013-03-12 12:32:42 +0800 CST 阻止传入的数据库链接 772 假设有一个 Oracle 数据库A和另一个 Oracle 数据库B。我们的数据库是A. 有没有办法阻止从Bto的数据库链接A? oracle oracle-11g-r2 1 个回答 Voted Best Answer Justin Cave 2013-03-12T12:51:06+08:002013-03-12T12:51:06+08:00 如果您想阻止来自任何B正在运行的机器的所有连接,无论A它们是否正在使用数据库链接,您可以使用 sqlnet.ora 文件中的TCP.EXCLUDED_NODES参数。 如果这不是您想要的,您可能会编写一个登录触发器,该触发器试图推断连接是否通过数据库链接,大概基于诸如machineand programfromv$session或 IP 地址 from 之类的东西sys_context('USERENV', 'IP_ADDRESS')。假设您的目标主要是让诚实的用户保持诚实,那么登录触发器可以工作得相当好。但是,由于您依赖于客户端提供的信息,因此恶意攻击者通常可以解决该问题 - 通常相当容易。
如果您想阻止来自任何
B
正在运行的机器的所有连接,无论A
它们是否正在使用数据库链接,您可以使用 sqlnet.ora 文件中的TCP.EXCLUDED_NODES
参数。如果这不是您想要的,您可能会编写一个登录触发器,该触发器试图推断连接是否通过数据库链接,大概基于诸如
machine
andprogram
fromv$session
或 IP 地址 from 之类的东西sys_context('USERENV', 'IP_ADDRESS')
。假设您的目标主要是让诚实的用户保持诚实,那么登录触发器可以工作得相当好。但是,由于您依赖于客户端提供的信息,因此恶意攻击者通常可以解决该问题 - 通常相当容易。