freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

jsp網(wǎng)上考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)—計(jì)算機(jī)畢業(yè)設(shè)計(jì)-資料下載頁

2024-11-29 11:28本頁面

【導(dǎo)讀】評具有十分鮮明的現(xiàn)實(shí)意義。同時(shí),網(wǎng)上考試系統(tǒng)的題庫不僅可以遠(yuǎn)程使用也可以本地。使用,是考試真正實(shí)現(xiàn)了無紙化。本文講述了基于Java技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計(jì)與實(shí)。的開發(fā)工具和相關(guān)技術(shù),還重點(diǎn)剖析了部分環(huán)節(jié)的程序設(shè)計(jì)。臺設(shè)計(jì)及數(shù)據(jù)庫安全。網(wǎng)上考試系統(tǒng)采用瀏覽器/服務(wù)器(B/S)三層結(jié)構(gòu),使用SQLServer. 通過JDBC-ODBC橋和后臺數(shù)據(jù)庫相連接并對數(shù)據(jù)庫。進(jìn)行操作和管理。

  

【正文】 ,直接將 SQL 命令交數(shù)據(jù)庫服務(wù)器處理。 ( 2) 是否為數(shù)據(jù)庫加 /脫密引擎的內(nèi)部控制命令?如果是,則處理內(nèi)部控制命令,然后轉(zhuǎn) ( 7);如果不是則轉(zhuǎn)下一步。 ( 3) 檢查數(shù)據(jù)庫加 /脫密引擎是否處于關(guān)閉狀態(tài)或 SQL 命令是否只需要編譯?如果是則轉(zhuǎn) ( 6),否則轉(zhuǎn)下一步。 ( 4) 檢索加密 字典,根據(jù)加密定義對 SQL 命令進(jìn)行加脫密語義分析。 ( 5) SQL 命令是否需要加密處理?如果是,則將 SQL 命令進(jìn)行加密變換,替換原 SQL 命令,然后轉(zhuǎn)下一步;否則直接轉(zhuǎn)下一步。 ( 6) 將 SQL 命令轉(zhuǎn)送數(shù)據(jù)庫服務(wù)器處理。 ( 7) SQL 命令執(zhí)行完畢,清除 SQL 命令緩沖區(qū)。 圖 43 數(shù)據(jù)加 /脫密處理主要流程圖 網(wǎng)頁安全及分析 說到安全保密肯定要提到登錄密碼。為了保證密碼不容易被猜出, 可以 對密碼提出較嚴(yán)格的要求,要求密碼長 度不小于 7 位,必須是數(shù)字字符 或與 拼音字符相混合,且不能有連續(xù)三個(gè)字符相同或相近。否則系統(tǒng)自動要求修改密碼,不然拒絕運(yùn)行。 還可以 設(shè)定登錄密碼嘗試次數(shù)為三次,三次嘗試不成功,則鎖定該用戶并自動關(guān)閉系統(tǒng),不再提供嘗試機(jī)會,只有專職維護(hù)人員才能對用戶解鎖。這就防止了某些用戶企圖利用他人代碼,通過窮舉登錄系統(tǒng),進(jìn)行非授權(quán)的活動。為了保證密碼的安全, 可以 對密碼的保存和傳輸也進(jìn)行了移動和變換加密處理。 為了防止授權(quán)用戶在監(jiān)控范圍外的其他工作站登錄系統(tǒng), 可以 對所有連入 系統(tǒng) 內(nèi)部網(wǎng)絡(luò)的工作站進(jìn)行統(tǒng) 一編號和加密注冊。沒有編號的工作站或未經(jīng)專職維護(hù)人員授權(quán)注冊的工作站不能啟動 該 系統(tǒng)。而后對每個(gè)用戶設(shè)定他能用來登錄系統(tǒng)的工作站。這樣,每個(gè)用戶只能在指定的工作站上登錄系統(tǒng)。 限定用戶能操作系統(tǒng)的時(shí)間段,使用戶只能在規(guī)定的時(shí)間范圍內(nèi)使用系統(tǒng)也是安全措施之一。這樣可以防止用戶在工作時(shí)間之外,在沒有同事監(jiān)督的時(shí)間段開始 SQL 語法 分析 引擎內(nèi)部命令 ? 引擎 關(guān)閉或只需編譯 加脫密語義分析 命令加密 ? 加密處理 SQL 命令轉(zhuǎn)送數(shù)據(jù)庫服務(wù)器 清除 SQL 命令緩沖區(qū) 處理命令 內(nèi),隨意使用系統(tǒng)或泄露企業(yè)信息。 每個(gè)用戶工作部門可能不同,所要掌握和了解的數(shù)據(jù)也可能不同,既要保證各個(gè)用戶能查詢和處理職責(zé)范圍內(nèi)的數(shù)據(jù),又 要防止用戶能接觸到其職責(zé)范圍外的數(shù)據(jù)。這樣一來可以防止用戶對他不熟悉的數(shù)據(jù)進(jìn)行誤操作,二來又可以大大減少信息泄漏的機(jī)會。 可以 把數(shù)據(jù)加上所屬部門屬性,同時(shí)設(shè)定每個(gè)用戶的部門權(quán)限范圍。這是一個(gè)樹狀授權(quán),用戶只要有某一部門的數(shù)據(jù)權(quán)限,就自動擁有其下一級部門的數(shù)據(jù)權(quán)限。這樣該用戶每次訪問數(shù)據(jù)時(shí),都只能對其授權(quán)范圍內(nèi)的數(shù)據(jù)進(jìn)行操作。 每個(gè)用戶分工可能不同,用戶登錄系統(tǒng)成功后,根據(jù)用戶的功能權(quán)限,自動生成動態(tài)功能菜單,未授權(quán)的功能在菜單上根本不顯示,對當(dāng)前用戶來說,這些功能就象不存在。 為了跟蹤用戶的操作,查找安全漏洞,防止用戶否認(rèn)其操作記錄, 可以 對用戶的操作過程進(jìn)行全程記錄。有些用戶離職或崗位變動,但相關(guān)部門沒有及時(shí)通知維護(hù)人員。為防止這方面失誤給數(shù)據(jù)安全保密帶來威脅,系統(tǒng)每天自動查找在限定的日期長度內(nèi)未使用系統(tǒng)的用戶,并鎖定該用戶。有些用戶暫時(shí)離開工作站但又忘記退出系統(tǒng),系統(tǒng)在三分鐘后會自動鎖定,只能輸入當(dāng)前用戶密碼才能再次使用系統(tǒng),這樣可以防止周圍的非授權(quán)用戶非法使用系統(tǒng) . : 1)繞過登錄訪問 JSP 代碼使用表單實(shí)現(xiàn)交互,而相應(yīng)的 內(nèi)容會反映在瀏覽器的地址欄中,如果不采用適當(dāng)?shù)陌踩胧?,只要記下這些內(nèi)容,就可以繞過驗(yàn)證直接進(jìn)入某一頁面。例如在瀏覽器中敲入“ ...?flag=1”,即可不經(jīng)過表單頁面直接進(jìn)入滿足“ flag=1”條件的頁面。 為防止未經(jīng)注冊的用戶繞過注冊界面直接進(jìn)入應(yīng)用系統(tǒng),我們采用 Session 對象進(jìn)行注冊驗(yàn)證。 在一個(gè) B/S 的系統(tǒng)里面 ,用戶必須登錄才可以使用該系統(tǒng) ,但是如果用戶知道內(nèi)部的 URL,就可以直接使用一些功能 .應(yīng)該限制用戶必須先登錄 , 否則系統(tǒng)內(nèi)部的任何頁面都不可以使用 .使用 session,比如: 在登錄的 JSP 中,可以通過語句把用戶信息寫入 session 中, 例如: ( username, username); 然后就可以在其它的 JSP 程序或servlet 程序中,來獲取 session 中的用戶信息,然后進(jìn)行判斷,如果已經(jīng)登錄的話,可以進(jìn)入系統(tǒng),否則提示要進(jìn)行登錄,可使用下面的代碼: String username=(String)(username)。if(username==null){ //轉(zhuǎn)向登錄頁面 } else{ //進(jìn)行業(yè)務(wù)處理 } 2) 用戶密碼以明文形式保存 這種做法很容易泄露用戶的密碼,導(dǎo)致信息被篡改后丟失。所以 用戶密碼 應(yīng)經(jīng)加密保存, 以 確保用戶信息的安全。 為了增加安全性, 可以 有必要對數(shù)據(jù)庫中的資料進(jìn)行加密。可以采用 MD5 加密算法 。 MD5 就是采用單向加密的加密算法 。 單向加密,只能對數(shù)據(jù)進(jìn)行加密,也就是說,沒有辦法對加密以后的數(shù)據(jù)進(jìn)行解密??赡芪覀兞⒓淳蜁?,這樣的加密有什么用處?不能解密的加密算法有什么作用呢?在實(shí)際中的一個(gè)應(yīng)用就是數(shù)據(jù)庫中的用戶信息加密,當(dāng)用戶創(chuàng)建一個(gè)新的賬號或者密碼,他的信息不是直接保 存到數(shù)據(jù)庫,而是經(jīng)過一次加密以后再保存,這樣,即使這些信息被泄露,也不能立即理解這些信息的真正含義。 對于 MD5 而言,有兩個(gè)特性是很重要的,第一是任意兩段明文數(shù)據(jù),加密以后的密文不能是相同的;第二是任意一段明文數(shù)據(jù),經(jīng)過加密以后,其結(jié)果必須永遠(yuǎn)是不變的。前者的意思是不可能有任意兩段明文加密以后得到相同的密文,后者的意思是如果我們加密特定的數(shù)據(jù),得到的密文一定是相同的。 MD5CyptoServiceProvider 類是 .NET 中 名字空間的一個(gè)類 ,提供專門用于 MD5 單向數(shù)據(jù)加密的解決方法,也是本文中我們用來加密數(shù)據(jù)庫中密碼的類。在真正進(jìn)行數(shù)據(jù)加密之前,我們首先來了解MD5CyptoServiceProvider 類中的主要方法: ComputeHash,它將輸入的明文數(shù)據(jù)數(shù)組使用 MD5 加密以后輸出加密后的密文數(shù)據(jù)數(shù)組。 3)用戶重復(fù)登錄是考試系統(tǒng)存在的重要問題之一。 對于 B/S應(yīng)用系統(tǒng)中客戶經(jīng)常會提出同一帳號不能重復(fù)登錄的需求,就是說,用某一帳號登錄系統(tǒng)后,在系統(tǒng)不超時(shí)的情況下,任何人都不能再用目前已登錄的帳號登錄系統(tǒng)。包括 我們開發(fā)的這個(gè)網(wǎng)上考試系統(tǒng) 同 樣有這一需求。 在此處將考生信息插入表 monitor,此 處要防止考生重復(fù)登錄!給指定唯一的考號,并將考號字段 num(c)設(shè)為主鍵,當(dāng)?shù)卿洉r(shí),用 檢索 monitor 表 , 若已經(jīng)存在(表示已經(jīng)登陸) 給出相應(yīng)提示,部分代碼如下 (): String CheckSql=select* from monitor where username=39。+username+39。 ResultSet CheckRs=(CheckSql)。 if (!()) //如果不存在 { //進(jìn)入考試 } else{ //給出提示信息,跳轉(zhuǎn)到其他頁面 (script language=\javascript\+\n)。 (alert(\你已經(jīng)參加過此次考試,不能重復(fù)參加考試!請與管理員聯(lián)系。 \))。 ((\\)+\n/script)。 } 4)防止刷新 由于加載試題頁面時(shí)將從數(shù)據(jù)庫中隨機(jī)抽取試題 , 所以應(yīng)防止考生刷新面頁(刷新頁面會重新生成新的試題 )。方法是 利用 session, 第一次 加載試題頁面時(shí)把用戶信息和一個(gè)標(biāo)志寫入 session 中,再次加載 題頁面 (包括刷新) 時(shí)進(jìn)行相應(yīng)檢查,以防止頁面的刷新 。 部分 代碼如下 (): String load=(String)(loaded)。 if(load==null || !(username1+lod)) //session 中沒有或不是該用戶信息 { //進(jìn)入考試 } else if((username1+lod)) //若 session 中存在該用戶信息 { //給出提示信息,跳轉(zhuǎn)到其他頁面 (script language=\javascript\+\n)。 (alert(\禁止刷新!請與管理員聯(lián)系。 \))。 ((\\)+\n/script)。 } 5)防止復(fù)制 JSP 頁面 防止復(fù)制 JSP 頁面即網(wǎng)頁將不能被另存為。 noscriptiframe src=*.html/iframe/noscript 6)使用驗(yàn)證碼 驗(yàn)證碼實(shí)現(xiàn)流程:服務(wù)器端隨機(jī)生成驗(yàn)證碼字符串,保存在內(nèi)存中,并寫入圖片,發(fā)送給瀏覽器端顯示,瀏覽器端輸入驗(yàn)證碼圖片上字符,然后提交服務(wù)器端,提交的字符和服務(wù)器端保存的該字符比較是否一致。一致就繼續(xù),否則返回提示。攻擊者編寫的 robot 程序,很難識別驗(yàn)證碼字符,順利的完成自動注冊,登錄。而 用戶可以識別填寫,所以這就實(shí)現(xiàn)了阻擋攻擊的作用。 特別說明的是,其實(shí) robot 制作者也可以去識別驗(yàn)證碼的,而圖片的字符識別,就是看圖片上的干擾強(qiáng)度了。就實(shí)際的效果來說,驗(yàn)證碼只是增加攻擊者的難度,而不可能完全的防止 。 管理員權(quán)限下的功能模塊設(shè)計(jì) 系統(tǒng)管理模塊功能如圖所示: 圖 44 管理員功能模塊圖 管理員權(quán)限下具有三個(gè)模塊功能, 包括帳戶管理、資源管理和監(jiān)控中心。其中帳戶管理可以對自身、教師和學(xué)生信息進(jìn)行查詢、添加、修改和刪除操作;資源管理可以 對系統(tǒng)中的院系(院系)和科目進(jìn)行相同操作。而監(jiān)控中心則是對正在考試中的情況進(jìn)行時(shí)實(shí)查看。 管理員登錄 輸入:管理員的用戶名,密碼。 管理員登錄( ) 資源管理 帳戶管理 監(jiān)控中心( ) 自身 () 教師 () 學(xué)生 () 院系 () 科目 () 處理: 判斷用戶名和密碼是否有效。填入用戶名和密碼后點(diǎn)擊 [登錄 ]按扭,系統(tǒng)將自動從數(shù)據(jù)庫中的管理員信息表中判斷是否存在相同的管理員用戶名和密碼,如果有則進(jìn)入系統(tǒng),如果不存在則提示用戶名和密碼有錯(cuò)誤信息。 輸出:登錄成功,進(jìn)入管理員的系統(tǒng)使用資源頁面,不成功則顯示錯(cuò)誤信息頁面。 帳戶管理 ( 1)自身帳戶 輸入:新密碼,姓名,性別,院系,工作證號和電子郵箱。 處 理:填入工作證號,密碼和其他必要的信息后點(diǎn)擊 [修改 ]按扭,系統(tǒng)將自動從數(shù)據(jù)庫中的管理員信息表中判斷是否存在相同的管理員和密碼,如果有則修改管理員信息表,不成功則顯示錯(cuò)誤信息頁面。 輸出:修改成功,進(jìn)入管理員的登錄頁面,不成功則顯示錯(cuò)誤信息頁面。 ( 2)教師帳戶 輸入:新密碼,姓名,性別,院系,工作證號和電子郵箱。 處理:填入必要的信息后點(diǎn)擊 [修改信息 ]按扭,系統(tǒng)將自動從數(shù)據(jù)庫中的教師信息表中判斷是否存在相同的該條記錄,如果有則修改教師信息表,不成功則顯示錯(cuò)誤信息頁面。 輸出:修改成功則返回到教師信息查詢頁面 ,不成功則顯示錯(cuò)誤信息頁面。 ( 3)學(xué)生帳戶 輸入:用戶名,新密碼,確認(rèn)密碼,姓名,性別,出生日期,院系,專業(yè),班級,學(xué)號,電子郵箱(可選)和狀態(tài)。 處理:填入必要的信息后點(diǎn)擊 [修改信息 ]按扭,系統(tǒng)將自動從數(shù)據(jù)庫中的學(xué)生信息表中判斷是否存在相同的該條記錄,如果有則修改學(xué)生信息表,不成功則顯示錯(cuò)誤信息頁面。 輸出:修改成功則返回到學(xué)生信息查詢頁面,不成功則顯示錯(cuò)誤信息頁面。 監(jiān)控中心 輸入:查找的字段名和關(guān)鍵字。 處理:根據(jù)用戶輸入的查詢條件,檢索數(shù)據(jù)庫中的考試情況 monitor 表, 列出符合條件的記錄,并根據(jù)狀態(tài)為“ 1”的表示未交卷的,狀態(tài)為“ 2”的表示已經(jīng)提交是試卷。 輸出:學(xué)生及對應(yīng)試卷信息。 本系統(tǒng)采用的關(guān)鍵技術(shù) JSP 技術(shù) JSP 是由 Sun 微系統(tǒng)公司于 1999 年 6 月推出的一項(xiàng)技術(shù),是基于 JavaServlet以及整個(gè) Java 體系的 Web 開發(fā)技術(shù),利用這一技術(shù)可以建立先進(jìn)、安全和跨平臺的動態(tài)網(wǎng)站。 JSP 技術(shù)在多個(gè)方面加速了動態(tài) Web 頁面的開發(fā)。它主要有如下幾個(gè)方面的特點(diǎn): 1) 將內(nèi)容的生成和顯示進(jìn)行分離 使用 JSP 技術(shù), Web 頁面開發(fā)人員可以使用 HTML 或者 XML 標(biāo)識來設(shè)計(jì)和格式化最終頁面。使用 JSP 標(biāo)識或者腳本來生成頁面上的動態(tài)內(nèi)容(內(nèi)容是根據(jù)請求來變化的,例如請求帳號信息或者一本書的價(jià)格)。生成內(nèi)容的代碼被封裝在 Servlet 和 JavaBean 組件中,并且結(jié)合在腳本中,所有的腳本在服務(wù)器端運(yùn)行。 JSP 引擎解釋 JSP 標(biāo)識和腳本程序,生成所請求的內(nèi)容(例如,通過訪問JavaBean 組件,使用 JDBC 技術(shù)訪問數(shù)據(jù)庫,或者包含文件),并且將結(jié)果以HTML(或者 XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于 HTML 的 Web 瀏覽器的完全可用 性。 2) 強(qiáng)調(diào)組件的重用 絕大多數(shù) JSP 頁面依賴于可重用的、跨平臺的組件( JavaBean 或者 Enterprise JavaBean 組件)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1