本站小編為你精心準備了重點實驗室網站設計與開發參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
1.網站設計
1.1功能設計本系統包括前臺和后臺兩大模塊。前臺用于信息的展示和資料的下載,包括實驗室概況、實事新聞、公告通知、科研隊伍、實驗設備、基金申報等功能模塊。這些功能模塊將最新的信息,最新的研究成果,以及科研項目申報信息及時地向外界。達到宣傳實驗室,吸引國內外學者來實驗室進行學術交流和合作研究的目的。后臺用于網站的日常管理、安全和維護,主要實現了用戶管理、新聞管理、研究隊伍管理、上傳下載管理等功能模塊。
1.1.1用戶管理用戶管理包括用戶注冊、用戶登錄、用戶權限分配、用戶密碼修改。瀏覽網站的游客,可以通過網站注冊入口注冊新用戶,然后在登錄入口登錄后可以發表評論和執行其他操作。對于管理員,系統將管理員分成三個等級。三級管理員可以登錄到網站后臺,能夠發表新聞、添加公告、研究成員信息和添加實驗設備信息,但是所有添加的信息都需要更高級管理員審核。二級管理員能夠審核三級管理員的信息,也可以直接添加信息到前臺。一級管理員除了具備二級管理員和三級管理員的權限外,還能夠管理所有管理員,包括修改管理員信息、修改管理員密碼、查看管理員的登錄信息和信息。
1.1.2新聞管理新聞管理包括新聞添加、新聞審核、新聞修改、新聞刪除。新聞添加功能不僅能夠添加新聞,而且可以公告和實驗室概況等信息。在添加時要求必須輸入新聞的標題和新聞的內容,其中新聞的內容通過文本編輯控件輸入,然而不是所有的新聞都能夠直接到網站前臺,為了防止不良信息的上傳,還需要高級管理員對上傳的新聞進行審核后才能夠顯示到前臺。對于有問題或過時的新聞,管理員可以通過后臺管理實現對新聞的修改和刪除操作。
1.1.3研究隊伍管理研究隊伍管理包括成員個人信息添加、個人信息修改、個人信息刪除。研究隊伍的管理和新聞管理類似,不同的是研究隊伍信息分為多類,值得注意的是為了避免數據庫數據添加錯誤和前臺界面的美觀,成員性別、成員圖片、成員著作這一系列信息需要嚴格的輸入格式控制,如成員性別只能設置男和女兩個選項,成員著作的輸入需要省略書名號等。
1.1.4上傳下載管理上傳下載管理包括文件上傳、文件刪除。為了方便實驗室的管理,實驗室網站提供瀏覽用戶下載功能。管理員可以通過后臺管理系統,上傳限定格式的文件供學生、老師們下載,當然也可以對不合要求或過期的文件進行刪除。
1.2技術設計在實驗室網站的開發過程中,數據庫的連接、新聞的添加等功能需要頻繁使用,而且當數據庫設計發生改動或實驗室網站功能需要優化時,網站代碼需要隨之更改,為了使網站系統便于拓展,便于維護,便于修改,系統科學重點實驗室使用三層架構理念來實現其基本功能,使實驗室網站數據庫連接、功能實現、界面顯示分別通過數據訪問層、業務邏輯層和應用層來實現。數據訪問層主要負責網站和數據庫的連接,實驗室網站的數據連接效率及數據訪問安全性是網站開發的核心,同時實驗室網站系統的數據庫存儲著用戶及實驗室成員的基礎信息,因此數據訪問層的設計關系著網站的穩定性及安全性,是開發者需要重視的模塊。網站系統數據訪問層的設計包含五個類,分別是OperateDB類、News類、Members類、Device類、File類,這些類都是通過ADO.NET與數據庫建立連接的。OperateDB類為另外四個類的基礎,供其他連接數據庫的類使用,它包含Exe-cuteNonQuery方法、ExecuteDataSet方法、ConnectionString屬性。ExecuteNonQuery方法為void型,用于執行該方法傳入的SQL語句字符串的操作,其它類要執行SQL語句可以直接調用OperateDB類下的該方法。ExecuteDataSet方法有返回值,該方法將SQL語句的查詢結果通過DataSet形式返回,從數據庫讀數據在前臺顯示新聞時需要該方法的支持。ConnectionString屬性返回網站系統連接數據庫的連接字符串。其他四個類分別為系統與新聞、成員、設備、文件數據庫之間的連接類,比較類似,這里通過News類的介紹來了解這四個類的作用。News類通過設置五個方法實現對數據庫中新聞表的添加、修改、查詢、刪除和更新操作,分別為NewsAdd方法、NewsModify方法、News-Found方法、NewsDelete方法、NewsUpdate方法。這些方法為新聞的一整套管理系統打下基礎,即使新聞數據庫字段發生更改或者功能需要優化,開發者可以簡單改動數據訪問層的該類來達到想要的目的。業務邏輯層是數據訪問層和應用層的過渡,既繼承了數據訪問層的數據連接功能,又為應用層的實現打下基礎。除了要完成數據的基本操作外,業務邏輯層還要審查輸入的字符串是否符合要求,如檢查用戶名、密碼、郵箱等的輸入是否正確并屏蔽非法字符,以防止SQL注入,同時通過調整業務順序減少數據庫訪問頻度。該層的設計包含五個類,分別是NewsLogic類、MembersLogic類、DeviceLogic類、FileLogic類和TextCheck類,前四個類的方法是數據訪問層類方法的直接封裝,TextCheck類主要用于對輸入字符的檢驗,是為系統安全而設計,包含四個方法,分別是UsernameCheck方法、PasswordCheck方法、E-mailCheck方法、TextCheck方法。UsernameCheck方法用于注冊時用戶名的檢測,當用戶輸入的用戶名已經存在時,注冊會失敗,系統提示用戶名已經存在,當用戶名為非法字符時,系統會提示用戶名包含非法字符。PasswordCheck方法用于密碼輸入的檢測,當用戶注冊或登錄時會調用該方法,該方法限制用戶輸入的密碼只能為字母或數字,當輸入非法時不執行數據庫訪問操作,防止代碼注入而且減少了對數據庫的訪問。EmailCheck方法用于檢測注冊時郵箱輸入是否規范。TextCheck方法用于文本框輸入時非法字符的檢測,新聞標題、成員信息等的輸入都要通過該方法檢測后才能存入數據庫。應用層為網站系統面向用戶的層,主要為用戶提供方便美觀的瀏覽頁面。用戶直接接觸的就是應用層,一個好的實驗室網站除了要有完善的功能還要有美觀的界面。網站首頁導航欄包含實驗室概況、時事新聞、公告通知、管理條例、研究隊伍、實驗設備、基金申報七個欄目,分別介紹實驗室的概況、實驗室最新新聞活動、實驗室通知公告、實驗室的條例準則、實驗室研究成員基本信息、實驗室已有的實驗設備信息和基金申報事項及文件下載。對于首頁公告通知的顯示,通知信息通過流動方式輪流顯示最新通知事項。七個欄目的二級頁面設計類似,左邊為次級導航欄,右邊為的新聞或其他信息,而且都是通過分頁顯示,不同的是時事新聞、公告通知欄目顯示的是新聞或公告的標題,而研究隊伍和實驗設備顯示的是成員或設備圖片。網站系統除了簡單的顯示新聞、通知的具體信息外,還在三級頁面顯示人、點擊量等用戶關心的信息。
1.3安全性設計網站威脅常見的一種就是文件上傳漏洞,文件上傳漏洞就是對用戶上傳的文件類型判斷不完善,導致攻擊者上傳非法類型的文件,從而對網站進行攻擊。我們通過對每一處要上傳的模塊進行嚴格的判斷,圖片只能上傳jpg、JPG、jpeg、JPEG等格式的文件,新聞只能上傳doc、pdf、xls等格式的文件,同時對調用的文本編輯控件的文件上傳功能進行設置并修改上傳路徑,這樣可以防止黑客惡意上傳程序等文件威脅網站安全。網站管理員登錄密碼的安全性也是網站安全不可忽略的重要點,黑客可以通過SQL注入等意想不到的方式獲取服務器端數據庫數據從而得到管理員密碼,進而破壞網站,但我們通過密碼學散列算法(如:SHA-1)對管理員注冊密碼進行哈希,數據庫中存儲密碼的散列值,即使黑客獲得數據庫存儲的哈希值,也無法使用該值登陸。如果管理員賬號密碼泄露,網站安全將受到嚴重威脅,因此管理員的分級功能就至關重要。在網站眾多功能中,低級別的管理員只能管理部分功能,高級別的管理員可以管理低級別的管理員。在我們完全信任最高級別的管理員的假設下,即使低級別管理員賬號泄露或低級別管理員自己惡意攻擊網站,其并不能對網站安全產生足夠大的威脅。同時,我們還采用了登錄日志來識別對網站攻擊的發生。如果黑客惡意攻擊網站使網站安全受到威脅,我們可以通過每一次登陸時記下的登陸賬戶信息、ip地址及登陸后的操作來判斷攻擊網站用戶,然后將其處理,防止攻擊再次發生。
2.數據庫設計
SQLSever2008是Windows上最廣泛應用的關系型數據庫,具有操作簡單、成本低、開發周期短等優點,其性能和安全性方面完全能滿足重點實驗室網站的需求,因此選擇了在Win-dows操作系統下極具優勢的SQLSever2008作為后臺數據庫。數據庫主要存儲用戶信息、添加的新聞信息、上傳的文件信息、開放的設備信息、研究隊伍信息、登錄日志信息。管理員通過后臺管理模塊向各個數據表添加信息;前臺展示頁面根據固定的業務邏輯從數據庫讀取信息,或按用戶的查詢要求動態地從數據庫讀取特定的信息。具體的數據表如下:用戶基本信息表包含字段有:用戶id、用戶名、昵稱、密碼、性別、用戶權限、郵箱、用戶備注;新聞信息表包含字段:新聞id、新聞標題、新聞分類、上傳用戶id、上傳時間、新聞內容、添加的圖片地址、點擊量;上傳文件表包含字段:文件id、文件名稱、文件分類、上傳者、上傳時間、下載量;開放設備表包含字段:設備id、設備名稱、設備圖片、設備簡介;研究隊伍表包含字段:成員id、成員姓名、成員性別、成員圖片、成員簡介;日志管理表包含字段:日志id、登錄用戶id、登錄時間、登錄ip地址。新聞信息表中的上傳用戶id與用戶信息表中的用戶id對應,管理員添加新聞時,系統把通過session保存的登錄用戶id存儲到新聞信息表中的上傳用戶id。日志管理表中的登錄用戶id與用戶信息表中的用戶id對應,用戶登錄時,系統自動將用戶id存儲到日志管理表中的登錄用戶id列。
3.結語
本網站系統采用ASP.NET技術,基于網站的功能方面和安全性方面設計,方便了實驗室的日常管理,同時也利于實驗室的對外宣傳與交流合作,而且網站采用三層架構設計,提高了網站運行效率,也方便后續網站的優化。本實驗室網站滿足了實驗室日常管理需求,不過隨著實驗室的發展,對網站功能的需求會不斷提高,網站的后期維護也十分重要。另外,作為大學生創新項目,既鍛煉了大學生的實踐能力、創新意識,同時也受到了科學研究的熏陶。
作者:尹凱凱 黃驛博 單位:武漢科技大學 理學院