国产探花免费观看_亚洲丰满少妇自慰呻吟_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管制。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孟津县| 崇礼县| 花莲县| 乐陵市| 科尔| 化隆| 福建省| 巴塘县| 赤城县| 凤山市| 丹江口市| 土默特左旗| 荔波县| 西城区| 攀枝花市| 浮山县| 沈阳市| 大安市| 宁武县| 曲周县| 轮台县| 嘉义市| 宁明县| 牡丹江市| 逊克县| 山阳县| 赣榆县| 无为县| 乐山市| 江川县| 潼南县| 大兴区| 璧山县| 周宁县| 莲花县| 巩留县| 东辽县| 台前县| 凯里市| 武功县| 教育|