zoukankan      html  css  js  c++  java
  • oracle如何限定特定IP访问数据库

    可以利用登录触发器、cmgw或者是在$OREACLE_HOME/network/admin下新增一个protocol.ora文件(有些os可能是. protocol.ora),9i可以直接修改sqlnet.ora:

      增加如下内容:

      tcp.validnode_checking=yes

      #允许访问的ip

      tcp.inited_nodes=(ip1,ip2,……)

      #不允许访问的ip

    tcp.excluded_nodes=(ip1,ip2,……)

    利用触发器限定IP:

    create table logcontrol

    (IPDET VARCHAR2(15)

    )

    /

    create table limitip

    (

     IPDET VARCHAR2(15),

     NOTE  VARCHAR2(50)

    )

    /

    create table yclogin

    (

    IPDET VARCHAR2(15),

    attempdate date default sysdate

    )

    /

    insert into logcontrol values('130.76.1.135');

    insert into limitip values('130.76.1.135','接口数据库');

    /

    CREATE OR REPLACE TRIGGER log_control                                            

    AFTER logon ON DATABASE                                                          

    declare                                                                          

      oname number(2);                                                               

      pragma autonomous_transaction;                                                 

    begin                                                                            

    if SYS_CONTEXT('USERENV','IP_ADDRESS') is not null                               

    then                                                                              

    select count(*) into oname from logcontrol                                       

    where trim(IPDET)=SYS_CONTEXT('USERENV','IP_ADDRESS');                                 

      if oname<1 then                                                                 

      insert into yclogin values(SYS_CONTEXT('USERENV','IP_ADDRESS'));               

      commit;                                                                        

       Raise_application_error(-20999, 'ip访问限定,有需要请及时向系统管理员书面申请!!!');

       EXECUTE IMMEDIATE 'DISCONNECT';                                               

      end if;                                                                        

    end if;                                                                           

    end;                      

  • 相关阅读:
    生成大小字母以及数字混乱的6位验证码
    重写吃货联盟
    集合练习:登录注册功能
    出现并解决Navicat 报错:1130-host ... is not allowed to connect to this MySql server,MySQL
    mysql在linux的安装
    Spring4分别整合mongo2.X和3.0
    oracle数据库使用plsql(64位)时出现的问题
    spring的CXF远程服务
    spring的定时任务或者说自动任务
    jquery节点查询
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11113222.html
Copyright © 2011-2022 走看看