Oracle安全数据系统架构全接触[11]
文章作者 100test 发表时间 2007:08:06 13:20:19
来源 100Test.Com百考试题网
·修改应用程序,对于开发环境是Develope2000的程序来说,主要是修改主程序的on-lo gon触发器:
declare
mm varchar2(6).
begin
logon(‘test‘,‘carton‘).
0select mima into mm from mmtest where usname=‘sfyy‘.
mm:=mmtranslate(mm).
logout.
logon(‘sfyy‘,mm).
end.
然后再利用触发器WHEN-NEW-FROM-INSTANCE执行Callfrom或Newform等 命令,进入业务处理程序。这个主程序应当仅仅由管理员来掌握,编译之后将执行文件下发 到各收费点的Clien端。
·在System用户下,利用Oracle提供的pupbld.sql,建立表Productuserprofile,执行下面这样的命令,限制在非开发状态Sql命令的使用,例如
insert 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‘).这样,在SQL状态下,根本无法连接到TEST用户,而在 sfyy用户下,0delete命令将不能执行。当然,DBA可以改变这些设置。
当然了,这个仅仅是属于一种“应用技巧”,但是足可以把那些每天忙于更新系统的管理员舒服好几天了。但是另一方面,还要加强对源程序的管理,在Client端只存放执行程序。加强审计,发现异常现象,及时处理。这样才可以做到更高一层的“安全”。
在下面,我主要是向大家介绍一个REM对GHXXB制立数据库触发子,密码的加密程序。
REM 对GHXXB制立数据库触发子(当INSERT OR UPDATE GHXXB时触发)
0drop trigger scjmmm.
create or replace trigger scjmmm
before insert or 0update of mm On ghxxb For each Row
Begin
:new.mm:=ENCRYPT(:new.mm,:NEW.GH,TO_CHAR(SYSDATE,‘SS‘)).
End.
src="/oracle/js/wxgg_oracle.js">