a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 103|回复: 0

[其他] Oracle数据库数据安全面面观(六)

[复制链接]
发表于 2012-8-4 13:56:03 | 显示全部楼层 |阅读模式
然后再利用触发器when-new-from-instance执行callfrom或newform等 命令,进入业务处理程序。这个主程序应当仅仅由管理员来掌握,编译之后将执行文件下发 到各收费点的clien端。
: @0 e7 u0 Z, \! h8 s, y·在system用户下,利用oracle提供的pupbld.sql,建立表productuserprofile,执行下面这样的命令,限制在非开发状态sql命令的使用,例如
) K) B/ ~1 K% P0 A& r) Y& r4 w3 a7 X" I

$ R7 j: V* v$ H$ kinsert into productuserprofile(product,userid,attribute,charvalue) values(‘sql*plus‘,‘test‘,‘connect‘,‘disabled‘);insert into productuserprofile(product,userid,attribute,charvalue) values(‘sql*plus‘,‘sfyy‘,‘delete‘,‘disabled‘);
; g4 u4 A! B  {6 x5 C6 C这样,在sql状态下,根本无法连接到test用户,而在 sfyy用户下,delete命令将不能执行。当然,dba可以改变这些设置。
7 l9 ?/ v8 a+ @6 _0 p当然了,这个仅仅是属于一种“应用技巧”,但是足可以把那些每天忙于更新系统的管理员舒服好几天了。但是另一方面,还要加强对源程序的管理,在client端只存放执行程序。加强审计,发现异常现象,及时处理。这样才可以做到更高一层的“安全”。 % ~7 W5 v$ V% g% w4 d5 Y1 d# N5 |: m
在下面,我主要是向大家介绍一个rem对ghxxb制立数据库触发子,密码的加密程序。 ( q. R" X/ B. }& {0 S. u& D3 R
rem 对ghxxb制立数据库触发子(当insert or update ghxxb时触发) 9 V  P$ L! Q) x

" x. A" A6 b2 ~  `drop trigger scjmmm; create or replace trigger  scjmmm  before insert or  update of mm  on ghxxb for each row begin    :new.mm:=encrypt(:new.mm,:new.gh,to_char(sysdate,‘ss‘)); end; / ---------------------------密码的加密程序encrypt---------------------- create or replace  function encrypt (inpass in varchar2,in_gh in varchar2,in_ss in varchar2) return varchar2 is  bcs   varchar2(20); bcs1  number; cs    number; jg    number; m_gh  varchar2(4); m_mm  varchar2(20); begin m_gh:=in_gh; m_mm:=inpass; cs:=to_number(in_ss); if cs
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-4-30 06:37 , Processed in 0.258638 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表