亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SQL Server 2000數(shù)據(jù)庫觸發(fā)器的應(yīng)用

        2008-12-31 00:00:00周愛華南理勇
        商場現(xiàn)代化 2008年7期

        現(xiàn)代數(shù)據(jù)庫管理系統(tǒng)廣泛應(yīng)用于辦公自動化,其安全性越來越重要。雖然各種數(shù)據(jù)庫系統(tǒng)提供了相當(dāng)多的安全機制,比如訪問控制、備份恢復(fù)、日志與審計等,但是黑客對數(shù)據(jù)庫的攻擊入侵事件還是很多,很常見的一種情況:通過緩沖區(qū)溢出等途徑突破數(shù)據(jù)庫自身提供的訪問控制功能,提升用戶權(quán)限,然后入侵數(shù)據(jù)庫。SQL Server 2000數(shù)據(jù)庫觸發(fā)器在數(shù)據(jù)庫系統(tǒng)中得到應(yīng)用,提高了數(shù)據(jù)庫系統(tǒng)的安全性。

        觸發(fā)器一種特殊類型的存儲過程,當(dāng)使用Insert、Delete、Update語句對數(shù)據(jù)庫表中的數(shù)據(jù)進行操作時,觸發(fā)器將自動執(zhí)行。觸發(fā)器的工作原理,它是觸發(fā)器與表緊密聯(lián)系在一起,該表也稱為觸發(fā)器表。在對表進行插入、刪除和更新操作時,若該表有相應(yīng)操作類型的觸發(fā)器,則觸發(fā)器會自動觸發(fā)執(zhí)行。程序開發(fā)人員利用其工作原理來設(shè)計了一種新的機制,就是把數(shù)據(jù)庫系統(tǒng)提供的訪問控制功能作為第一層的安全保護,再構(gòu)建一層訪問控制機制作為第二層安全控制機制。我們的主要思想是當(dāng)用戶突破第一層安全保護進入數(shù)據(jù)庫時,再啟用第二層的安全保護機制,第二層的安全保護就是控制用戶對數(shù)據(jù)庫的操作權(quán)限。也就是說,你可以提升權(quán)限進入數(shù)據(jù)庫,但是你要操作數(shù)據(jù)庫還不行,你得突破第二層安全保護取得操作權(quán)限。因此,這種機制也就能夠有效的防止用戶的惡意篡改數(shù)據(jù)。

        以實驗室信息管理數(shù)據(jù)庫系統(tǒng)為例,介紹觸發(fā)器技術(shù)的應(yīng)用。

        1.僅供信息檢索的數(shù)據(jù)庫表(實驗考試成績查詢)

        數(shù)據(jù)庫作為存放數(shù)據(jù)的倉庫,在許多情況下,是為了提供信息檢索服務(wù)的。通常的做法是通過為用戶設(shè)定Select權(quán)限來保證數(shù)據(jù)庫表中的數(shù)據(jù)不被修改,這對沒有相應(yīng)權(quán)限的用戶可以起到保護作用。但是,如果用戶通過攻擊手段提升權(quán)限后就可以進行非法的修改操作。在實際的系統(tǒng)設(shè)計中,通過使用觸發(fā)器,把對數(shù)據(jù)庫表中的記錄的修改操作屏蔽掉。在下面的觸發(fā)器中,只給出了提示信息,省去了觸發(fā)器中定義的具體操作的語句。

        CREATE TRIGGER tr_ScoreQuery

        ON ScoreQuery

        INSTEAD OF INSERT,DELETE,UPDATE

        AS

        PRINT‘非法用戶,禁止修改操作!’

        Begin

        Insert into log_table(log_user,db_name,event_name,log_time) values(sys.login_user,sys.database_name,sys_sysevent,sysdate);

        --觸發(fā)器定義的其他具體操作

        End;

        GO

        GO

        2.插入刪除更新操作頻繁的數(shù)據(jù)庫表

        如果要對數(shù)據(jù)庫中插入、刪除或更新記錄,就必須先刪除觸發(fā)器,這給數(shù)據(jù)庫管理員帶來許多不便。因此,對于考試系統(tǒng)中用戶管理子系統(tǒng)這一類型的修改操作比較頻繁的數(shù)據(jù)庫,我們不能像上面那樣,不管什么用戶的修改操作一律都屏蔽掉,而是應(yīng)該根據(jù)用戶權(quán)限有所不同??梢酝ㄟ^自定義用戶權(quán)限表來判斷用戶操作的合法性,對于不合法的予以屏蔽。

        自定義用戶權(quán)限表包括四個字段:user_id、Insert_of、Delete_of、Update_of,它們的數(shù)據(jù)類型分別為:smallint、bit、bit、bit。其中bit類型中1表示用戶有權(quán)限,0表示用戶沒有權(quán)限。

        CREATE TABLE UserRight

        ( user_id smallint,

        Insert_of bit,

        Delete_of bit,

        Update_of bit

        )

        在數(shù)據(jù)庫系統(tǒng)運行過程中,可以使用全局函數(shù)CURRENT_USER()來獲取當(dāng)前的用戶名,賦值給@currentuser,之后再使用全局函數(shù)USER_ID(@currentuser)獲取當(dāng)前用戶的ID。

        一個屏蔽非法操作的DELETE觸發(fā)器設(shè)計如下:

        CREATE TRIGGERtr_UserManage

        ON UserManage

        AFTER DELETE

        AS

        IF ((SELECT Delete_of from UserRight WHERE user_id=USER_ID(CURRENT_USER))

        !=1)

        ROLLBACK TRANSACTION

        ——其他的操作

        GO

        觸發(fā)器在系統(tǒng)開發(fā)上有著很廣泛的用途,本文介紹的只是它在加強數(shù)據(jù)庫安全方面的一個小小應(yīng)用。雖然觸發(fā)器的用途很多,但是過多的使用觸發(fā)器或者觸發(fā)器寫得不好,都將影響整個數(shù)據(jù)庫的性能。因此,使用觸發(fā)器的時候必須權(quán)衡各方面的因素,在適當(dāng)?shù)臅r候使用恰當(dāng)?shù)挠|發(fā)器。

        參考文獻:

        [1]劉衛(wèi)宏:SQL Server 2000實用教程[M].科學(xué)出版社,2003,9

        [2]姚渝春等:數(shù)據(jù)庫觸發(fā)器及應(yīng)用[J].重慶建筑大學(xué)學(xué)報,2003(5):128~131

        [3]徐曉陽:觸發(fā)器在SQL Server數(shù)據(jù)庫開發(fā)中的應(yīng)用[J].電腦開發(fā)與應(yīng)用,2005(1):48~49

        精品人妻中文av一区二区三区| 五十六十日本老熟妇乱| 色婷婷综合久久久久中文字幕| 国产精品一区二区 尿失禁| 久久精品国产久精国产69| 丝袜美腿精品福利在线视频| 无码人妻h动漫中文字幕| 欧美人妻精品一区二区三区| 国产真实乱XXXⅩ视频| 自拍偷拍韩国三级视频| 99999久久久久久亚洲| 亚洲美国产亚洲av| 日韩欧美亚洲国产一区二区三区| 精品福利一区二区三区| 在办公室被c到呻吟的动态图| 免费无码av片在线观看| 国产一区二区丁香婷婷| 久久日韩精品一区二区| 亚洲av综合a色av中文| 国产精品无码一区二区在线国| 最新国产av网址大全| 精品亚洲国产成人av色哟哟| 蜜臀av性久久久久蜜臀aⅴ| AV教师一区高清| 国产另类av一区二区三区| 免费无码精品黄av电影| 精品乱码卡1卡2卡3免费开放| 中文字幕亚洲乱亚洲乱妇| 亚洲一区二区三区四区地址 | 亚洲а∨天堂久久精品2021| 国产精品原创av片国产日韩 | 国产激情视频免费在线观看| 成人免费看吃奶视频网站| 久久这里有精品国产电影网| 在线视频观看一区二区| 亚洲成a人无码| 欧美国产高清| 久久精品伊人久久精品伊人| 精品人妻av区乱码| 99精品久久这里只有精品| 国产一级一厂片内射视频播放|