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

正文內(nèi)容

基于asp網(wǎng)站的安全性研究與實(shí)現(xiàn)—免費(fèi)畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2025-01-04 11:08 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 數(shù)據(jù)操縱語言:實(shí)現(xiàn)查詢數(shù)據(jù)的功能。 數(shù)據(jù)控制語言:實(shí)現(xiàn)控制用戶對(duì)數(shù)據(jù)庫的操作權(quán)限的功能。 數(shù)據(jù)查詢語言:實(shí)現(xiàn)查詢數(shù)據(jù)庫的功能。 開發(fā)環(huán)境 本設(shè)計(jì)的開發(fā)環(huán)境為個(gè)人計(jì)算機(jī)一臺(tái), Windows2020 系統(tǒng), SQL SERVER 2020數(shù)據(jù)庫等 相關(guān)軟件。 3 需求分析 用戶需求 作為一個(gè)訪問網(wǎng)站資源的用戶來說,個(gè)人信息的保密性和完整性是最重要的,進(jìn)而要求網(wǎng)站最大限度的安全。因此,首先需要設(shè)計(jì)出幾個(gè)基于 ASP 網(wǎng)站的安全模塊,其次是需要了解一些關(guān)于網(wǎng)站或數(shù)據(jù)庫安全的輔助說明和一些安全配置問題。要求可直接在 ASP 網(wǎng)站中調(diào)用這些模塊,并且具有實(shí)用、簡(jiǎn)潔的功能。 功能需求 系統(tǒng)功能主要包括以下幾個(gè)方面:一是用戶注冊(cè)加密信息,用戶注冊(cè)時(shí)用RSA 算法加密后直接存入數(shù)據(jù)庫; 二是登錄模塊設(shè)計(jì),主要采用了驗(yàn)證碼技術(shù),從而可以防止不法用戶用軟件頻繁注冊(cè),頻繁發(fā)送不 良信息等。 三是防 SQL 注 入模塊,是對(duì)客戶端提交的變量參數(shù)進(jìn)行仔細(xì)地檢測(cè)。對(duì)客戶端提交的變量進(jìn)行檢查以防止 SQL 注入,有各種方法,發(fā)現(xiàn)客戶端提交的參數(shù)中有“ exec、 insert、select、 delete、 from、 update、 count、 user、 add、 ”等用于 SQL 注入的常用字符時(shí),立即停止執(zhí)行 ASP 并給出警告信息或轉(zhuǎn)向出錯(cuò)頁面。 本設(shè)計(jì)的用戶主要是針對(duì)合法的 ASP 網(wǎng)站,幫助他們實(shí)現(xiàn)網(wǎng)站安全性能。在使用時(shí)其可以直接調(diào)用本設(shè)計(jì)的安全模塊,達(dá)到用戶信息的完整性,保密性和不可否認(rèn)性。 用戶注冊(cè)模塊 本模塊主要用于用戶注冊(cè)信息的安全性,用戶注冊(cè)時(shí)用 RSA加密算法直接加密用戶信息存入數(shù)據(jù)庫,用戶注冊(cè)信息包括用戶名、密碼、確認(rèn)密碼、聯(lián)系電話、郵箱、 、公司名稱和補(bǔ)充說明。用戶注冊(cè)時(shí)如有填錯(cuò)注冊(cè)信息,則轉(zhuǎn)入錯(cuò)誤頁面以引導(dǎo)用戶填寫正確的注冊(cè)信息,比如密碼輸入不一致, 不為數(shù)字或郵箱格式輸入有錯(cuò)誤。如用戶填寫所有信息均符合要求則注冊(cè)成功,此模塊對(duì)用戶信息采用 RSA 加密算法進(jìn)行加密后存入數(shù)據(jù)庫。在數(shù)據(jù)庫里可看到亂碼的注冊(cè)信息,他人想通過數(shù)據(jù)庫查看用戶信息是不可行的,也就起到了保密的作用。 用戶登錄模塊 此模塊采用圖片驗(yàn)證碼的形式以增強(qiáng)用戶登錄的安全性。所謂驗(yàn)證碼,就是將一串隨機(jī)產(chǎn)生的數(shù)字或符號(hào),生成一幅圖片,圖片里加上一些干擾象素,用戶肉眼識(shí)別其中的驗(yàn)證碼信息,輸入表單提交網(wǎng)站驗(yàn)證,驗(yàn)證成功后才能使用某項(xiàng)功能。驗(yàn)證碼一般放在會(huì)員注冊(cè)、留言本等所有客戶端提交信息的頁面,要提交信息,必須要輸入正確的驗(yàn)證碼,從而可以防止不法用戶用軟件頻繁注冊(cè),頻繁發(fā)送不良信息等。普通的客戶端交互,如留言本、會(huì)員注冊(cè)等僅是按照要求輸入內(nèi)容,但網(wǎng)上有很多攻擊軟件,如注冊(cè)機(jī),可以通過瀏覽 WEB,掃描表單,然后在 系統(tǒng)上頻繁注冊(cè),頻繁發(fā)送不良信息,造成不良的影響,或者通過軟件不斷的嘗試,盜取你的密碼。我們通過使用驗(yàn)證碼技術(shù),使客戶端輸入的信息都必須經(jīng)過驗(yàn)證,從而可以解決這個(gè)問題,以達(dá)到相應(yīng)的安全目標(biāo)。 防 SQL 注入模塊 本模塊是對(duì)客戶端提交的變量參數(shù)進(jìn)行仔細(xì)地檢測(cè)以防止 SQL 注入,當(dāng)發(fā)現(xiàn)客戶端提交的參數(shù)中有“ exec、 insert、 select、 delete、 from、 update、 count、user、 add、 ”等用于 SQL 注入的常用字符時(shí),立即停止執(zhí)行 ASP并給出警告信息或轉(zhuǎn)向出錯(cuò)頁面,同時(shí)對(duì) 客戶端提交的非法參數(shù)加密后存入數(shù)據(jù)庫。另外此 模塊實(shí)現(xiàn)了 RSA 算法的解密功能,管理員在登錄后可查看解密了的非法注入信息,包括注入詳細(xì)信息和注入時(shí)間。 性能要求 操作性能 模塊應(yīng)當(dāng)操作比較簡(jiǎn)便,界面比較直觀,維護(hù)比較簡(jiǎn)便。管理員登錄后可很直觀的查看注入日志。 調(diào)用性能 其他 ASP 網(wǎng)站用戶調(diào)用此模塊時(shí)應(yīng)簡(jiǎn)便快捷。 4 安全模塊的設(shè)計(jì)與實(shí)現(xiàn) 安全模塊的實(shí)現(xiàn)過程 注冊(cè)加密模塊實(shí)現(xiàn)過程 一個(gè)網(wǎng)站的安全管理最主要的部分就是用戶個(gè)人信息的保密性和完整性,在此模塊中主要的調(diào)用 RSA 加密算法 對(duì)用戶注冊(cè)的重要信息加密保存,用戶寫入注信息時(shí)首先驗(yàn)證用戶信息格式的合法性,用戶信息輸入全為合法時(shí)調(diào)用 RSA 加密算法對(duì)其進(jìn)行加密后存入數(shù)據(jù)庫。先調(diào)用 GENKEY()函數(shù)產(chǎn)生公鑰和私鑰和模,然后調(diào)用 Encode(pStrMessage)對(duì)用戶信息進(jìn)行加密,生成的密文以亂碼的字符串存入數(shù)據(jù)庫。 例如加密用戶名: 加密過程: Set ObjUserName = New clsRSA 以上為先定義 1個(gè) clsRSA 對(duì)象。 Call () 以上為取得隨機(jī)密鑰。 LngKeyUserName1 = 39。Public Key 以上為取得公鑰。 LngKeyUserName2 = 39。Private Key 以上為取得私鑰。 LngKeyUserName3 = 39。Modulus 以上為取得模。 StrUserName = (userName) 以上為將 userName 加密。 最后將密文和生成的密鑰存 入數(shù)據(jù)庫。 此時(shí)整個(gè)加密過程完成。 解密過程: 把公鑰,私鑰,模從數(shù)據(jù)庫中讀出。 ObjUserName = New clsRSA 以上為先定義 1個(gè) clsRSA 對(duì)象。 ObjUserName. PublicKey = str1(1) 設(shè)置公鑰。 = str1(1) 以上為設(shè)置私鑰。 = str1(2) 以上為設(shè)置模型密文。 StrUserName = (UserName) 以 上為將 userName 解密。 防注入模塊實(shí)現(xiàn)過程 防注入模塊的功能實(shí)現(xiàn)體現(xiàn)在注冊(cè)頁面上,當(dāng)客戶端提交非法信息進(jìn)行非法注入時(shí),系統(tǒng)會(huì)對(duì)客戶端提交的非法參數(shù)進(jìn)行加密,加密后存入數(shù)據(jù)庫。當(dāng)客戶端進(jìn)行非法注入時(shí),首先調(diào)用 GENKEY()函數(shù)產(chǎn)生雙鑰和模,然后調(diào)用Encode(pStrMessage)對(duì)非法信息進(jìn)行加密,生成的密文存入數(shù)據(jù)庫,管理員登錄時(shí)候調(diào)用 Dncode(pStrMessage)進(jìn)行解密,通過瀏覽器顯示注入信息。 登錄圖片驗(yàn)證碼的實(shí)現(xiàn)過程 用戶登錄時(shí)候登錄界面的 GetSafeCode 函數(shù)去調(diào)用 頁面,這為了顯示整個(gè)隨機(jī)數(shù)字圖片,然后 GetSafeCode 函數(shù)又去調(diào)用 頁面,這是為了取得隨機(jī)數(shù)字圖片,并將隨機(jī)數(shù)字放入到 Session 會(huì)話中。 又使用 來產(chǎn)生隨機(jī)圖片及其顏色, 又使用 來產(chǎn)生了產(chǎn)生隨機(jī)數(shù)及其字體。 模塊流程圖和功能圖 注冊(cè)加密模塊流程圖和功能圖 注冊(cè)加密模塊流程圖及說明 用戶進(jìn)行注冊(cè)時(shí)首先顯示注冊(cè)頁面,顯示為必須進(jìn)行填寫的 個(gè)人信息的對(duì)話框,包括 ID、 PASSWORD、 TEL、 、 Email 等,此時(shí)用戶需輸入要注冊(cè)的個(gè)人信息,模塊會(huì)根據(jù)用戶輸入的合法性進(jìn)行檢測(cè),如有錯(cuò)誤輸入則彈出對(duì)話框提示,用戶單擊“確定”按鈕后返回輸入框重新輸入。所有信息判斷為合法時(shí)對(duì)其進(jìn)行加密并存入數(shù)據(jù)庫,即注冊(cè)結(jié)束,流程圖如圖 2: 圖 2 注冊(cè)加密模塊流程圖 注冊(cè)加密模塊實(shí)現(xiàn)圖及說明 注冊(cè)加密界面的實(shí)現(xiàn)由 頁面體現(xiàn),注冊(cè)時(shí)需提交用戶名、密碼、確認(rèn)密碼、聯(lián)系電話、郵箱、 、公司名稱、補(bǔ)充說明 ,實(shí)現(xiàn)如圖 3: 圖 3 注冊(cè)界面實(shí)現(xiàn)圖 如用戶提交信息有錯(cuò)誤或未全部填寫則轉(zhuǎn)出信息提示,例如郵件地址不正確,則提示為非法,實(shí)現(xiàn)如圖 4: 圖 4 錯(cuò)誤信息實(shí)現(xiàn)圖 當(dāng)用戶注冊(cè)信息全為合法時(shí)候?qū)ζ溥M(jìn)行加密后存入數(shù)據(jù)庫,如圖 5: 圖 5 注冊(cè)信息加密圖 登錄安全模塊流程圖及功能圖 登錄安全模塊流程圖及說明 用戶登錄時(shí)首先進(jìn)入登錄界面,此時(shí)需要輸入用戶名和密碼,然后輸入隨機(jī)生成的驗(yàn)證碼,模塊會(huì)對(duì)用戶輸入信息進(jìn)行仔細(xì)的檢測(cè),看是否有非法字符輸入,如果有立即對(duì)非法數(shù)據(jù)進(jìn)行加密并存入數(shù)據(jù)庫后返回登錄界面。如 是合法用戶信息,則判斷是否為管理員,如是普通用戶可正常登錄并顯示無權(quán)查看注入信息,如是管理員登錄則可直接查看解密了的注入日志,流程圖如圖 6: 圖 6 登錄安全模塊流程圖 加密非法信息并返回 開始 進(jìn)入登錄界面 判斷合法性 用戶登錄 判斷用戶權(quán) 普通用戶登錄 結(jié)束 登錄后查看注入日志 N Y 管理員 普通用戶 登錄安全模塊功能圖及說明 登錄安全模塊界面由 頁面體現(xiàn),登錄時(shí)需要提交合法的用戶名、密碼和注冊(cè)碼,實(shí)現(xiàn)如圖 7: 圖 7 登錄界面實(shí)現(xiàn)圖 輸入非法的用戶名“ select”和密碼“ 1234567890”,實(shí)現(xiàn) SQL 非法注入,示例如圖 8: 圖 8 實(shí)現(xiàn)非法注入示例圖 此時(shí)模塊檢測(cè)到用戶注冊(cè)信 息含有非法字符自動(dòng)終止轉(zhuǎn)入錯(cuò)誤提示頁面,如圖 9: 圖 9 注入終止信息圖 含有非法字符的注冊(cè)信息加密后存入數(shù)據(jù)庫文件中,如圖 10: 圖 10 非法信息加密圖 管理員登錄查看注入日志(包括解密了的用戶名和密碼,此外還包括確切的注入時(shí)間),如圖 11: 圖 11 非法注入信息解密圖 模塊主要代碼及實(shí)現(xiàn) 注冊(cè)模塊的安全代碼及實(shí)現(xiàn) 本模塊主要由 來實(shí)現(xiàn),其主要安全代碼和實(shí)現(xiàn)如下: RSA 加密解密代碼實(shí)現(xiàn)如下: Class clsRSA Public PrivateKey Public PublicKey Public Modulus Public Sub GenKey() 以上函數(shù)是獲取密鑰。 Dim lLngPhi Dim q Dim p Randomize Do Do 39。 2 random primary numbers (0 to 1000) Do p = Rnd * 1000 \ 1 Loop While Not IsPrime(p) Do q = Rnd * 1000 \ 1 Loop While Not IsPrime(q) 39。 n = product of 2 primes Modulus = p * q \ 1 39。 random decryptor (2 to n) PrivateKey = Rnd * (Modulus 2) \ 1 + 2 lLngPhi = (p 1) * (q 1) \ 1 PublicKey = Euler(lLngPhi, PrivateKey) Loop While PublicKey = 0 Or PublicKey = 1 39。 Loop if we can39。t crypt/decrypt a byte Loop While Not TestCrypt(255) End Sub Private Function TestCrypt(ByRef pBytData) Dim lStrCrypted lStrCrypted = Crypt(pBytData, PublicKey) TestCrypt = Crypt(lStrCrypted, PrivateKey) = pBytData End Function Private Function Euler(ByRef pLngPHI, ByRef pLngKey) Dim lLngR(3) Dim lLngP(3) Dim lLngQ(3) Dim lLngCounter Dim lLngResult Euler = 0 lLngR(1) = pLngPHI: lLngR(0) = pLngKey lLngP(1) = 0: lLngP(0) = 1 lLngQ(1) = 2: lLngQ(0) = 0 lLngCounter = 1 Do Until lLngR(0) = 0 lLngR(2) = lLngR(1): lLngR(1) = lLngR(0) lLngP(2) = lLngP(1): lLngP(1) = lLngP(0) lLngQ(2) = lLngQ(1): lLngQ(1) = lLngQ(0) lLngCounter = lLngCounter + 1 lLngR(0) = lLngR(2) Mod lLngR(1) lLngP(0) = ((lLngR(2)\lLngR(1)) * lLngP(1)) + lLngP(2) lLngQ(0) = ((lLngR(2)\lLngR(1)) * lLngQ(1)) + lLngQ(2) Loop lLngResult = (pLngKey * lLngP(1)) (pLngPHI * lLngQ(1)) If lLngResult 0 Then Euler = lLngP(1) El
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1