国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

Logon Trigger Example 登陸例子

2024-07-21 02:33:51
字體:
來源:轉載
供稿:網友

  EXAMPLE 1)
  
  有時候我們不希望使用者利用ODBC來連接上資料庫,利用access或者Excel來抓資料庫資料。在道德勸說無效下,就直接擋下來!
  
  BEGIN
  FOR rec in (select username,PRogram,SYS_CONTEXT('USERENV','ip_ADDRESS') ip from v$session
  where audsid = userenv('sessionid')) loop
  IF rec.IP = ?。16.64.19' AND rec.USERNAME = 'HR' AND upper(rec.program) in
  ('MSACCESS.EXE','SQLPLUSW.EXE','JREW.EXE','MSEXCEL.EXE')
  THEN
  EXIT;
  ELSIF upper(rec.program) in ('MSACCESS.EXE','SQLPLUSW.EXE','JREW.EXE','MSEXCEL.EXE') THEN
  raise_application_error(-20001,'Access Deny');
  END IF;
  END LOOP;
  END;
  
  只有HR并且由指定的IP 172.16.64.19才能使用ACCESS或者SQL*PLUS或者EXCEL連上來,其他的使用者皆無法連線。
  
  但是,擁有DBA OR SYSDBA ROLE的權限帳號,是不會受到此限制。
  
  EXAMPLE 2)
  
  很多時候我們需要寫一個logon trigger來進行帳號登入的控管。在Three - tier 架構下,大部分的程式可能都是由一個固定的帳號,授與適當的權限經由AP Server連接到后端的Oracle資料庫來進行一般操作, 這個帳號的權限可能很大,而你并不希望programer利用這個帳號進入資料庫做一些測試動作,因為這樣就達不到有效權限控管的要求。可是這個AP專用的帳號及密碼可能是半公開的,你如何防止這樣的情況發生呢? 寫一個logon trigger 也許是不錯的主意。
  
  CREATE OR REPLACE TRIGGER LOGON_DB_TRIGGER
  AFTER LOGON ON DATABASE
  DECLARE
  IP VARCHAR2(30);
  UNAME VARCHAR2(30);
  BEGIN
  SELECT SYS_CONTEXT ('USERENV','IP_ADDRESS'),USERNAME INTO IP,UNAME FROM V$SESSION
  WHERE AUDSID=USERENV('SESSIONID');
  IF IP != ?。16.64.33' AND
  UNAME = 'APPLE' THEN
  RAISE_APPLICATION_ERROR(-1,'CONNECTIION REFUSED');
  END IF;
  END;
  
  寫好這個Trigger,只要使用者帳號為apple,且來源IP不是172.16.64.33都會被拒絕連線掉喔!!這樣是不是多了些安全管控呢?非凡注重一點,假如欲受限制的帳號權限為DBA or SYSDBA者,將不受此Trigger管制。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台东县| 潢川县| 舒兰市| 小金县| 蓝田县| 马公市| 德钦县| 瑞丽市| 绩溪县| 临夏县| 平武县| 和静县| 合肥市| 昌平区| 连山| 马鞍山市| 章丘市| 庆安县| 凤阳县| 文安县| 武山县| 安西县| 林州市| 海盐县| 岳阳市| 沿河| 乌拉特中旗| 资阳市| 东山县| 随州市| 桐梓县| 如东县| 鸡泽县| 井陉县| 盐山县| 陆川县| 双鸭山市| 信丰县| 桃源县| 长沙市| 施秉县|