1,问题描述

Oracle默认账号是没有限制ip的,这样的隐患就在于,如果我知道了oracle账号用户名密码,我只要能连接到db,就可以对db进行操作,这样对于线上的db来说是很危险的,因为有些非dba人员,比如开发人员、测试人员一不小心误删除了线上的数据,就惨了,坑太大不敢看。所以查了查,找到一种办法,在一些重要的表上加触发器来限制用户对线上db的表的操作。

2,触发器编写

如果开全局的sql审计,消耗性能太大,不太合适,想来只有在某些重要的表上做限制,初步解决问题了。

1)  验证ip:(sys_context('userenv','ip_address')not in('192.168.120.211')

2)  验证用户名:selects.USERNAME into v_username from v$session s where s.audsid=(selectuserenv('SESSIONID') from dual) and rownum<2

3)  样例存储过程如下:

create or replace triggerpri_stu_test_limit

before update or delete or insert on stu.zzz_test

DECLARE

PRAGMA AUTONOMOUS_TRANSACTION;

v_username varchar2(200) default '';

BEGIN

select s.USERNAME into v_username from v$session s wheres.audsid=(select userenv('SESSIONID') from dual) and rownum<2;

IFdeleting

AND (sys_context('userenv','ip_address') not in('192.168.120.211')    OR 'stuuser' like v_username)

THEN

RAISE_APPLICATION_ERROR(-20001, 'can not delete the table ');

ELSIF inserting

AND (sys_context('userenv','ip_address') not in('192.168.120.211')    OR 'stuuser' like v_username)

THEN

RAISE_APPLICATION_ERROR(-20001, 'can not insert the table ');

ELSIF updating

AND (sys_context('userenv','ip_address') not in('192.168.120.211')    OR 'stuuser' like v_username)

THEN

RAISE_APPLICATION_ERROR(-20001, 'can not update the table ');

END IF;

END;

3,验证:

SQL>

SQL> insert into stu.zzz_testvalues(3,'zhuren33');

insert into stu.zzz_testvalues(3,'zhuren33')

ORA-20001: can not insert the table

ORA-06512: at"stuuser.PRI_STU_ACCT_LIMIT", line 18

ORA-04088: error during execution oftrigger 'stuuser.PRI_STU_ACCT_LIMIT'

SQL> commit;

Commit complete

SQL>

SQL> update stu.zzz_test setremark='zhuren33_up' where id=3;

update stu.zzz_test setremark='zhuren33_up' where id=3

ORA-20001: can not update the table

ORA-06512: at"stuuser.PRI_STU_ACCT_LIMIT", line 22

ORA-04088: error during execution oftrigger 'stuuser.PRI_STU_ACCT_LIMIT'

SQL> commit;

Commit complete

SQL>

SQL> delete from  stu.zzz_test where id=3;

delete from stu.zzz_test where id=3

ORA-20001: can not delete the table

ORA-06512: at"stuuser.PRI_STU_ACCT_LIMIT", line 14

ORA-04088: error during execution oftrigger 'stuuser.PRI_STU_ACCT_LIMIT'

SQL> commit;

Commit complete

SQL>

OK增删改都可以被限制住了,应该暂时解决了问题所在,后续还是有很多问题需要一起解决的。

oracle ip欺骗,Oracle 在重要的表上限制某些IP、用户的恶意操作相关推荐

  1. 什么是IP 欺骗以及如何防范?

    前言 现代 Internet通过发送和接收 IP 数据包来开展联网计算机与其他设备的通信,这就意味着早在互联网诞生之际就存在IP欺骗的风险.1980年,研究人员意识到黑客可以更改IP标头系统中的数据, ...

  2. oracle flashback6,【oracle】闪回flashback-11g-flashback data Archive

    Flashback data Archive 1.说明 Flashback data archive在它的有效期内将保存事物改变的信息. FDA包含一个或者多个表空间,我们可以创建多个FDA,当以sy ...

  3. Jmeter也能IP欺骗!

    之前有小伙伴问到jmeter有没有和loadrunner一样的ip欺骗功能,这篇文章介绍一下什么是ip欺骗,他有什么用,咱们用jmeter的时候,ip欺骗怎么做.   ip欺骗是什么?    ip欺骗 ...

  4. jmeter之ip欺骗

    说明:我看有的博客说官方文档是在jmeter2.5以上的版本有此功能的实现~ 我的是2.13版本,也可以实现 . 准备工作: 使用IP欺骗功能必须得本地有多个可用IP,通常普通的PC机只有一个物理网卡 ...

  5. LoadRunner技巧之IP欺骗

    IP欺骗也是也loadrunner自带的一个非常有用的功能. 需要使用ip欺骗的原因: 1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量 ...

  6. LoadRunner中IP欺骗功能详解

    应用程序服务器和网络设备使用IP地址来识别客户端.应用程序服务器通常会对来自同一计算机的客户端信息进行高速缓存.网络路由器尝试对原信息和目标信息进行高速缓存 以优化吞吐量.如果多个用户具有相同的IP地 ...

  7. 场景设计二:IP欺骗

    IP欺骗也是也loadrunner自带的一个非常有用的功能. 需要使用ip欺骗的原因: 1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量 ...

  8. Jmeter 局域网的IP欺骗终极解决方案

    ip欺骗是什么?    ip欺骗就是模拟ip.什么意思呢,一个电脑就只有一个ip地址,当然如果有多块网卡的话,会有多个ip地址,一般服务器上有个网卡,咱们自己的电脑一般都只有一个ip地址,但是你做压测 ...

  9. oracle数据库存储ip地址,oracle – 以十进制形式存储的IP地址 – PL / SQL以虚线四边形显示...

    这是您需要的功能: create or replace function inttoip(ip_address integer) return varchar2 deterministic is be ...

最新文章

  1. Swift 中使用 SQLite——修改和删除数据
  2. 统一建模语言——UML(第9-20课时)(cont.)
  3. CSS复合选择器(后代选择器、子元素选择器、并集选择器、伪类选择器、:focus伪类选择器)
  4. 用于python环境下的数据操作_数据分析(一):环境搭建,以及初步操作文件
  5. linux系统怎么清理磁盘空间,LINUX系统怎么使用命令清理磁盘空间?
  6. opensuse 升级内核
  7. s5-13 RIP 为什么会 衰败
  8. websphere jndi oracle,websphere7.0获得JNDI连接报invalid username/password
  9. MATLAB函数参数个数控制
  10. PHP+nginx安装配置注意事项
  11. [收藏]Linux 常用命令
  12. STM32——库函数版——交叉闪烁灯程序
  13. 职称最新消息:2022年开始湖北全面实行职称电子证书
  14. 打印程序在计算机上的应用程序,修复无法在计算机上运行的后台打印程序服务的操作步骤...
  15. 风险偏好情绪提振,欧元低位延续反弹
  16. 【论文整理】风格迁移中格拉姆矩阵(Gram Matrix)的使用
  17. 海德也离开了,祝你一路顺风。
  18. 数据分析——1.环境搭建(Jupyter Lab安装教程)
  19. java论文答辩老师会问什么,毕业论文答辩老师一般会问什么问题
  20. idea默认编码设置

热门文章

  1. 文献记录(part52)--基于度相关性的病毒传播模型及其分析
  2. 《犯罪心理学》读书笔记(part1)--蔑视社会秩序的最明显、最极端的表现就是犯罪
  3. matlab 增加图像对比度_计算机视觉学习笔记6 图像直方图与直方图均衡化
  4. arduino控制点阵屏与蜂鸣器_数字制造讲义08-Arduino声音应用2
  5. cmake 安装_vscode不写一行配置,用cmake傻瓜式搭建C++编译调试环境
  6. 一行SQL代码能做什么?
  7. 总结了200道经典的机器学习面试题 (附参考答案)
  8. 查看 SAP Kyma 上一个 pod 的运行日志
  9. 网友提问:当我要使用一个陌生的标准BAPI,我可以去哪里找到比较详尽的文档指导一类的资料
  10. 通过最简单的button控件,深入学习SAP UI5框架代码系列之零