翁健高 石娟 易向陽
摘要:本文從軟件架構、網絡架構、系統實現等方面闡述了采用VB、ASP和SQL2000等開發工具開發基于互聯網的國學學習軟件系統的方法和技術,并對互聯網中的軟件安全進行了系統的研究和實現。
關鍵詞:國學學習;互聯網;安全
中圖分類號:TP393 文獻標志碼:A 文章編號:1674-9324(2014)33-0231-02
為了推動中國五千年文明的傳承、建設和諧社會、弘揚中華傳統文明,為了拓展國學學習的方法及效果、增添國學學習的積極性和趣味性,本軟件以新的方式革新傳統國學的學習方式,通過國學經典錄學軟件的推廣,逐篇錄入“國學經典”名篇,輔于適當獎勵的方式,參與者通過反復錄入,可將國學經典內容銘記于心,既能深刻領會其精神內涵,又能提升自身的文化素養、道德修養、以及為人處世的方法,收到較好的效果。
一、軟件架構
國學經典軟件是一套網絡軟件,依拓于遠端后臺網站服務器的支持和前端客戶端的配合實現國學經典錄入與成績評定的功能。服務器端主要提供國學經典名篇下載、成績登記和成績排名,當天錄入成績前十名名單公布和獲獎名單公布等功能;前端客戶端主要實現用戶注冊、用戶登錄、年度成績排名、當天成績排名、國學名篇錄入、錄入成績上傳等功能。年度成績排名和當天成績排名模塊設立的目的是讓所有參加國學錄入的選手,及時了解本人當天及年度的錄入成績與第一名成績的差距,以比賽的形式展開國學的學習,使被動而枯燥的國學學習轉化為自覺而有趣的國學探討,促進錄學活動的展開。
二、網絡架構
客戶端用戶注冊并登錄—網站服務器確認—國學經典篇章下載及年度和當日成績排名反饋—客戶端國學篇章錄入—成績統計—成績上傳—網站服務器統計年度和當日的成績并保存各用戶成績。成績排名的目的是讓參賽選手了解當天的成績排名后能有意識地安排自己的學習時間,從而爭取能獲得更好的成績,促進錄學活動的展開。
三、系統實現
服務器端采用ASP語言來開發,動態網頁主要包括用戶注冊、用戶登錄、成績上傳、排名反饋、成績臨時保存等頁面,核心數據的接收處理用VB編寫的DLL完成,后臺數據庫用SQL2000登記用戶及比賽成績,并通過存儲過程動態提取每天前十名參賽選手給予獎勵和實現年度及當天積分的自動排名。軟件的設計是基于比賽的方式來進行國學的學習,以打字成績作為獎勵的基礎,而IE瀏覽器的缺陷使得打字成績易于被黑客修改。為了保證獎勵的公平公正,本軟件不采用IE瀏覽器作國學錄入的客戶端,`而像QQ界面一樣用VB6.0語言重新開發客戶端界面,客戶端主要由用戶注冊及登錄、國學篇章下載、打字及成績上傳、龍虎榜(每天前十名顯示)、成績查詢和用戶信息修改等模塊組成。在客戶端中采用Winsock控件模擬IE瀏覽器向網站服務器進行信息交互,控件與網站進行交互時,利用HTTP標準協議作為通訊協議實現跨網段、大范圍的網絡連接,這樣可以避免了聯通、鐵通和教育網絡互聯性差的缺陷,實現整個互聯網的參與,增強了國學學習的覆蓋面。
四、軟件安全
國學經典錄學軟件是由廣西百合吉科技有限公司資助開發的軟件項目,該軟件兼具有游戲的性質,軟件在國學名篇的錄入中最后以錄入文章的數字的多少作為錄入成績上傳到網站的SQL數據庫服務器中存儲,到當天晚上零時由從高到低自動排名,并篩選出前十名作參賽選手作為當天國學經典文章錄入的優勝者進行獎勵,達到“以獎促學”的目的。為了防止黑客的攻擊,錄入成績能真實反映參賽選手的學習情況,對軟件的安全和成績提交時的數據安全應作重點考慮。
1.保障國學錄學的有效性。為了使錄入的國學文章保證是手工錄入,避免用戶在錄入過程中采用從其他相同的文章中復制粘貼的投機取巧的方式獲得錄入成績,客戶端應通過Windows API的方法禁止剪貼板的使用;為了學習的有效性,還應該限制輸入法的造詞功能,錄入字符的長度一次最多只能錄入四個漢字。
2.防止惡意數據提交。由于軟件采用的是B/S架構,客戶端與網站服務器交互是用ASP語言開發的網頁文件,客戶端的成績數據在內存中應作可逆的隨機加密和MD5數據加密,上傳前再對上傳的數據進行合并偽裝后才上傳數據,這樣惡意用戶很難分析出IP數據包的格式從而避免惡意數據提交。客戶端數據上傳到ASP接收頁面時要先解密出成績數據并作MD5加密比較,驗證通過后才能寫入數據庫,保證了成績數據的真實可靠。
3.服務器數據安全。服務器的成績接收頁面主要用數據分析及入庫的代碼用DLL的方式進行加密封裝,能有效防止網站入侵后成績接收頁源代碼的泄漏。DLL內部主要功能是解密客戶端上傳的加密數據,并將原來已合并的數據分解成相應項,將解密的成績再作MD5加密后與客戶端中原成績的MD5加密作比較,比較通過后才將成績寫入SQL數據庫。對核心數據處理語句進行DLL動態鏈接庫的封裝,隱藏了核心數據和SQL數據庫操作語句,避免出現了惡意用戶沒有真正錄入而通過惡意手段錄入或更改成績的現象。
4.客戶端軟件安全。客戶端軟件安全也是本軟件考慮的核心項目。由于客戶端是獨立的軟件而不是IE瀏覽器,本軟件兼具游戲的性質,而保證客戶端軟件不被修改和探測是當前游戲軟件需要考慮的重點項目。成績信息采用動態隨機加密的方法,保證內存探測時無法獲知成績內容,避免通過內存探測而篡改錄入成績。能力更強的黑客,可以通過OD軟件來動態調試軟件,探測軟件的核心部件,然后再修改軟件工作流程。為了避免在動態調試過程中軟件被惡意修改,在軟件內部中加入反調試代碼并對軟件的完整性進行CRC32校驗,抑制黑客對軟件的調試和修改。對軟件的CRC32完整性校驗則是在軟件發布之初先用CRC32計算軟件的CRC校驗值,并將該值放置于網站數據庫中,在軟件中再植入CRC32計算代碼,軟件運行時先讀取網站上的CRC校驗碼,然后與軟件自身計算的CRC校驗碼比較,校驗碼相同時繼續運行本軟件,否則終止運行。
國學名篇中很多文章都是古文,在常規的國學學習中,傳統的方法都是照書背誦,枯燥晦澀,使人生畏。通過軟件學習,結合游戲特色,以比賽的形式在互聯網中展開國學學習,以獎促學,通過加強軟件的安全設計,使比賽在公開、公平、公正的環境中展開,大大激發了年輕一代學習國學熱情,提高了國學學習的覆蓋面。
參考文獻:
[1]崔艷,竇增杰.軟件靜態安全檢測技術綜述[J].中國科技博覽,2009,(3):361-362.
[2]杜經農,盧炎生.一種Web應用軟件安全脆弱性測試模型[J].小型微型計算機系統,2009,12(12):2038-2042.
[3]單良.校園網環境下的web軟件測試方法研究[J].雞西大學學報,2009,(6):62-63.
[4]喬娟.軟件安全缺陷分類的研究[J].數字技術與應用,2009,(7):3-4.
[5]吳志剛,萬濱興,等.基于Web的信息資源發布模型[J].計算機應用與研究,2000,17(3):21-23.
[6]周靄如,官士鴻.Visual Basic程序設計教程[M].北京:清華大學出版社,2000.
[7]伍孝金.基于PHP的新聞發布系統的研究與實現[J].計算機應用與研究,2006,10(23):88-90,125.
[8]宋彥浩.ASP建網技術[M].北京:中國水利水電出版社,2001.
基金項目:廣西高校人才小高地建設創新團隊資助計劃(桂教人[2007]71號)。
作者簡介:翁健高(1971-),男,廣西貴港人,實驗師,研究方向:Windows操作系統控制。