劉志兵,王會(huì)霞/Liu Zhibing,Wang Huixia
(1.黃岡師范學(xué)院數(shù)理學(xué)院 黃岡438000;2.黃岡師范學(xué)院教育科學(xué)與技術(shù)學(xué)院 黃岡438000)
《國家中長期教育改革和發(fā)展規(guī)劃綱要(2010~2020年)》提出了要大力開發(fā)教育資源,同時(shí)要積極推動(dòng)資源應(yīng)用[1],因此,建設(shè)數(shù)字資源庫平臺(tái)順應(yīng)了國家的發(fā)展規(guī)劃,也是教育信息化發(fā)展的核心和基礎(chǔ)。數(shù)字資源庫平臺(tái)旨在服務(wù)于教師的教學(xué)與學(xué)生的學(xué)習(xí),以內(nèi)容提供為中心,服務(wù)提供的是數(shù)據(jù)或信息。
數(shù)字資源庫平臺(tái)采用B/S 結(jié)構(gòu),通過服務(wù)器安裝相應(yīng)網(wǎng)絡(luò)應(yīng)用程序,讓學(xué)習(xí)者僅通過一個(gè)瀏覽器,不必添加、安裝任何插件或程序就可完成所有操作[2]。Web 服務(wù)器為整個(gè)系統(tǒng)提供了一個(gè)服務(wù)與管理的窗口,利用Web 服務(wù)器可以進(jìn)行信息發(fā)布,也可以借助應(yīng)用程序處理來自客戶端或管理端的請(qǐng)求,并將結(jié)果以網(wǎng)頁的形式反饋給客戶端和管理端。數(shù)據(jù)庫服務(wù)器是數(shù)字資源庫平臺(tái)的信息中心,它存儲(chǔ)了與資源庫所有內(nèi)容相關(guān)的信息,圖1 為數(shù)字資源庫平臺(tái)的3 層結(jié)構(gòu)模型。
數(shù)字資源庫平臺(tái)應(yīng)具備的基本模塊及其功能見表1。
數(shù)字資源庫平臺(tái)主要包括資源導(dǎo)航與資源倉庫、Wiki 系統(tǒng)、專業(yè)論壇、在線測試與評(píng)價(jià)、管理系統(tǒng)5 個(gè)部分,其功能總體框架如圖2所示。從概念出發(fā),結(jié)合學(xué)習(xí)者的學(xué)習(xí)需要,將文檔、視頻等一般資源納入資源倉庫這一模塊中,在線測試評(píng)價(jià)分為在線測試和反饋評(píng)價(jià)兩部分,管理系統(tǒng)主要進(jìn)行學(xué)習(xí)者管理和資源管理。
圖1 數(shù)字資源庫平臺(tái)結(jié)構(gòu)模型
表1 系統(tǒng)功能說明
圖2 數(shù)字資源庫平臺(tái)總體框架
資源導(dǎo)航模塊基于傳統(tǒng)分類方法而設(shè)計(jì),如圖3所示,其導(dǎo)航功能主要體現(xiàn)在資源分類和資源檢索兩方面。資源分類即創(chuàng)建資源分類列表,分類的方式主要有兩種:一種是按類別,即文檔、音/視頻等;另一種是按課程。資源檢索是指用戶按照資源的專題性質(zhì)進(jìn)行檢索,或使用關(guān)鍵詞進(jìn)行檢索。
圖3 資源導(dǎo)航模塊
資源倉庫包括個(gè)人資源庫和公共資源庫兩部分,如圖4所示。其中,個(gè)人資源庫是個(gè)人的知識(shí)管理平臺(tái),包括個(gè)人信息、個(gè)人日志、個(gè)人網(wǎng)摘和個(gè)人資源;公共資源庫是主題資源共建區(qū),支持圖片、音頻、視頻、文檔、課件、動(dòng)畫的上傳和下載。
Wiki 系統(tǒng)模塊主要體現(xiàn)的是教師的導(dǎo)學(xué)作用和對(duì)學(xué)習(xí)者的促學(xué)作用[3]。為了方便查詢,Wiki系統(tǒng)模塊也應(yīng)做好詞條分類的工作,這樣可以讓學(xué)生很方便地查找到自己需要的詞條,這個(gè)模塊的分類和資源倉庫模塊中菜單導(dǎo)航欄的分類需保持一致。
Wiki 系統(tǒng)模塊如圖5所示,模塊的主要功能設(shè)計(jì)如下。
圖5 Wiki 系統(tǒng)模塊
①搜索功能:通過搜索功能確定類似資源是否存在。
②編輯功能:支持學(xué)習(xí)者對(duì)已經(jīng)存在的資源進(jìn)行編輯、修改。
③發(fā)表功能:學(xué)習(xí)者通過該功能發(fā)表資源,并設(shè)置資源的基本信息、分類、顯示范圍。
④管理功能:管理學(xué)習(xí)者對(duì)某一資源的編輯。
專業(yè)論壇收集了學(xué)習(xí)者的常見疑問,并提供相關(guān)解答。專業(yè)論壇模塊如圖6所示,資源庫的學(xué)習(xí)者遇到問題時(shí),可以先登錄并進(jìn)入答疑庫搜索相關(guān)解答,若沒有相關(guān)問題的解答,則進(jìn)入論壇交流模塊提出問題,既可以面向大眾提問,也可以向教師或?qū)<姨釂枴?/p>
圖6 專業(yè)論壇模塊流程
測試評(píng)價(jià)模塊是為學(xué)習(xí)者提供測試的模塊,如圖7所示。學(xué)習(xí)者登錄后即可參加測試,系統(tǒng)根據(jù)學(xué)習(xí)者的命令,自動(dòng)隨機(jī)地從試題庫中抽取試題生成試卷,測試完畢后,系統(tǒng)自動(dòng)給出分?jǐn)?shù)。
圖7 測試評(píng)價(jià)模塊
(1)學(xué)習(xí)者管理
教師、專家、學(xué)習(xí)者通過注冊(cè)獲得唯一的用戶名和口令,系統(tǒng)管理員通過后臺(tái)數(shù)據(jù)庫操作的方式,審核教師、專家、學(xué)習(xí)者的注冊(cè),并對(duì)教師、專家、學(xué)習(xí)者三類用戶賦予不同的權(quán)限。
學(xué)習(xí)者利用個(gè)人資源庫進(jìn)行個(gè)人信息更新、日志寫作、網(wǎng)摘/資源上傳和下載、Wiki 百科、資源評(píng)論等操作。
(2)資源管理
資源管理模塊主要包括資源上傳、資源下載、資源檢索、資源刪除、資源收藏等功能。
資源上傳:學(xué)習(xí)者通過發(fā)表日志、Wiki 百科、在公共資源庫上傳資源等方式豐富資源庫。
資源下載:學(xué)習(xí)者通過消耗一定的積分可以下載資源。
資源檢索:資源庫提供課程、主題、媒體類型等多個(gè)維度的高級(jí)查詢,學(xué)習(xí)者可以設(shè)置關(guān)鍵字進(jìn)行資源檢索。
資源刪除:學(xué)習(xí)者可以刪除自己上傳的資源;教師、專家可以刪除低質(zhì)量的資源。
資源收藏:利用網(wǎng)摘功能收集自己需要的、感興趣的資源[4]。
數(shù)據(jù)庫在數(shù)字資源庫平臺(tái)中占有非常重要的地位,合理的數(shù)據(jù)結(jié)構(gòu)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致。數(shù)字資源庫平臺(tái)采用的是Access 數(shù)據(jù)庫,Access 數(shù)據(jù)庫具有支持Web 功能的信息共享、易于查詢和使用、可用于復(fù)雜的信息管理開發(fā)、交互的數(shù)據(jù)庫窗口、數(shù)據(jù)訪問頁、共享組件的集成等優(yōu)點(diǎn)。
對(duì)數(shù)字資源庫平臺(tái)的數(shù)據(jù)庫進(jìn)行分析,確定數(shù)據(jù)對(duì)象、描述數(shù)據(jù)對(duì)象的屬性以及數(shù)據(jù)對(duì)象之間的關(guān)系,管理員可以管理多個(gè)學(xué)習(xí)資料,系統(tǒng)中的每個(gè)學(xué)習(xí)資料歸屬不同教師。設(shè)計(jì)實(shí)體之間的關(guān)系如圖8所示,其中,一對(duì)多聯(lián)系表示為1∶N,多對(duì)多聯(lián)系表示為M∶N。不同的學(xué)習(xí)者可以瀏覽、下載或者上傳并發(fā)布不同的學(xué)習(xí)資料,唯一的管理員可以管理所有學(xué)習(xí)資料,另外,不同的教師、專家也可以發(fā)布或修改不同的學(xué)習(xí)資料。
Customers 表結(jié)構(gòu)見表2,其作用在于記錄學(xué)習(xí)者的所有資料,包括姓名、密碼、電話、QQ 和電子郵箱等。
表2 Customers 表結(jié)構(gòu)
Ziyuan 表結(jié)構(gòu)見表3,其作用在于記錄資源的所有信息,包括資源的標(biāo)題、內(nèi)容、作者以及資源的類別名稱。
Content 表結(jié)構(gòu)見表4,是博客模塊的基礎(chǔ)表,其作用在于記錄博客的內(nèi)容,包括博客的題目、作者、類別、正文內(nèi)容以及完成時(shí)間。
圖8 數(shù)字資源庫平臺(tái)實(shí)體之間E-R 圖
表3 Ziyuan 表結(jié)構(gòu)
表4 Content 表結(jié)構(gòu)
一般來說,維護(hù)系統(tǒng)安全可采取的方法有加密處理、數(shù)字簽名、驗(yàn)證機(jī)制等。
登錄系統(tǒng)必須使用密碼,同時(shí)它也是學(xué)習(xí)者信息不被泄漏的關(guān)鍵所在,因此,對(duì)于密碼這種重要的信息必須進(jìn)行加密處理。加密的算法很多,這里使用MD5算法。實(shí)現(xiàn)MD5 加密的關(guān)鍵是以下語句:
FormsAuthentication.HashPasswordForStoringIn ConfigFile(strText.Trim(),"md5")。
其中的核心在于“HashPasswordForStoringIn ConfigFile”,其意義是將字符串轉(zhuǎn)化為指定的密碼類型。
在B/S 系統(tǒng)中,傳統(tǒng)的注入攻擊手段很多。最基本的是利用單引號(hào)進(jìn)行攻擊,解決辦法是使用類似于QuotedStr()的函數(shù)處理參數(shù)即可。但在實(shí)際應(yīng)用中,不可避免會(huì)有一些應(yīng)用需要直接傳遞參數(shù),如表名、查詢條件、排序條件等,對(duì)這些應(yīng)用的注入攻擊防不勝防。
防止SQL 注入漏洞應(yīng)注意以下幾點(diǎn)。
(1)參數(shù)種類
將所有網(wǎng)頁傳入的參數(shù)分為3 種: 數(shù)字類型,用StrToInt 函數(shù)處理;字符串類型,用QuotedStr 函數(shù)處理; 需要直接傳遞的參數(shù)是需要著重考慮的類型。
(2)操作種類
將所有數(shù)據(jù)庫操作分為5 種,不允許程序直接執(zhí)行SQL 語句:select(查詢)、update(更新)、insert(新增)、delete(刪除)、exec(執(zhí)行存儲(chǔ)過程)。
(3)參數(shù)校驗(yàn)
對(duì)于以上幾種數(shù)據(jù)庫操作的所有參數(shù),如select 操作中的查詢條件、排序條件等,都進(jìn)行合法性校驗(yàn),其中存在“--” 、“/*” 、“*/”的,都視為非法條件; 將條件拆分為單詞,如果存在delete、insert、update、exec、execute、create、drop、grant 等單詞的,都視為非法條件;傳入的查詢條件,校驗(yàn)里的括號(hào),凡是右括號(hào)在左括號(hào)前面(不配對(duì))的,都視為非法條件;傳入的查詢條件,前后加括號(hào)。關(guān)鍵代碼如下。
經(jīng)過以上校驗(yàn),基本可以保證參數(shù)是正常的參數(shù),可最大限度地防止SQL 注入漏洞。
學(xué)習(xí)者撰寫博客、參加話題討論、參與測試,教師評(píng)價(jià)答卷、解答學(xué)習(xí)者疑問,專家答疑、撰寫專業(yè)博客、撰寫專業(yè)詞條等都是讓學(xué)習(xí)者參與庫的開發(fā)的例子。使學(xué)習(xí)者共同參與到網(wǎng)站建設(shè)過程中,這樣極大地?cái)U(kuò)充了學(xué)習(xí)資源,而學(xué)習(xí)者參與的過程也更有利于學(xué)習(xí)者的學(xué)習(xí)。
Web 2.0中許多技術(shù)手段稍加利用就能給學(xué)習(xí)者提供很多方便的服務(wù)[4],既擴(kuò)充了資源,又能更大限度地讓學(xué)習(xí)者參與到學(xué)習(xí)中,使服務(wù)更加完善,也能使學(xué)習(xí)者更加充分地利用網(wǎng)絡(luò)資源享受學(xué)習(xí)的樂趣。
[1]中華人民共和國教育部[EB/OL].http://www.moe.edu.cn/publicfiles/business/htmlfiles/moe/moe_177/index.html.
[2]婁亞莉.基于B/S 模式教學(xué)視頻資源庫的研究與設(shè)計(jì)[D].華東師范大學(xué),2011.
[3]由磊.知識(shí)管理指導(dǎo)的高校教學(xué)資源庫系統(tǒng)設(shè)計(jì)研究[D].河北大學(xué),2009.
[4]張慕華,賀鵬,乜勇等.基于社會(huì)化語義網(wǎng)的教育資源共建共享初探——以構(gòu)建高校數(shù)字化學(xué)習(xí)資源中心為例[J].現(xiàn)代教育技術(shù),2013,(1).