




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、信息安全專業(yè)綜合實(shí)踐設(shè)計(jì)報(bào)告專業(yè): 信息安全 班級(jí): 小組成員: 指導(dǎo)教師: 職 稱: 中國(guó)礦業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 年 月 徐州設(shè)計(jì)日期 年 月 日至 年 月 日小組成員在本次設(shè)計(jì)中承擔(dān)的任務(wù)成績(jī)指導(dǎo)教師簽字: 年 月 日前言為了提高學(xué)生的動(dòng)手能力,培養(yǎng)同學(xué)們的學(xué)習(xí)興趣,同時(shí)對(duì)所學(xué)知識(shí)進(jìn)行全面的復(fù)習(xí),特在第7學(xué)期開設(shè)本課程。信息安全專業(yè)綜合實(shí)踐是信息安全專業(yè)的集中性實(shí)踐環(huán)節(jié)課程。本課程的任務(wù)是訓(xùn)練學(xué)生綜合利用所學(xué)理論知識(shí)和實(shí)踐技能解決實(shí)際問(wèn)題,提高學(xué)生獨(dú)立鉆研及團(tuán)隊(duì)合作能力,為適應(yīng)今后的工作打下扎實(shí)的基礎(chǔ)。通過(guò)該課程實(shí)踐,使學(xué)生能夠利用密碼學(xué)知識(shí)實(shí)現(xiàn)通信系統(tǒng)的機(jī)密性、完整性;能夠評(píng)估系統(tǒng)
2、的安全性,能夠利用弱點(diǎn)攻破遠(yuǎn)程系統(tǒng),能夠有效地防御遠(yuǎn)程攻擊;對(duì)Web服務(wù)、Email服務(wù)能夠熟練地管理和配置,增強(qiáng)系統(tǒng)的安全性;能夠綜合利用認(rèn)證、授權(quán)、訪問(wèn)控制設(shè)計(jì)一個(gè)安全、高效的信息系統(tǒng)。本實(shí)驗(yàn)報(bào)告主要分為四個(gè)部分:第一篇,網(wǎng)絡(luò)通信安全;第二篇,網(wǎng)絡(luò)攻擊;第三篇,系統(tǒng)管理與配置;第四篇,信息系統(tǒng)安全。目錄實(shí)驗(yàn)一 網(wǎng)絡(luò)通信安全1.1實(shí)驗(yàn)?zāi)康?.2實(shí)驗(yàn)內(nèi)容1.3相關(guān)知識(shí)1.4實(shí)驗(yàn)成果1.5實(shí)驗(yàn)小結(jié)實(shí)驗(yàn)二 網(wǎng)絡(luò)攻防2.1實(shí)驗(yàn)?zāi)康?.2實(shí)驗(yàn)內(nèi)容2.3實(shí)驗(yàn)原理2.4實(shí)驗(yàn)步驟2.5實(shí)驗(yàn)小結(jié)實(shí)驗(yàn)三 Web服務(wù)器配置3.1實(shí)驗(yàn)?zāi)康?.2實(shí)驗(yàn)要求3.3實(shí)驗(yàn)內(nèi)容3.4實(shí)驗(yàn)小結(jié)實(shí)驗(yàn)四 信息系統(tǒng)安全4.1實(shí)驗(yàn)?zāi)康?
3、.2實(shí)驗(yàn)內(nèi)容4.3開發(fā)環(huán)境4.4系統(tǒng)實(shí)現(xiàn) 4.5實(shí)驗(yàn)小結(jié)實(shí)驗(yàn)一 網(wǎng)絡(luò)通信安全1.1實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)本章的學(xué)習(xí),使學(xué)生掌握密碼學(xué)在通信安全中的具體應(yīng)用?;疽竽軌?qū)崿F(xiàn)客戶服務(wù)器通信,能夠使用AES算法實(shí)現(xiàn)消息的加密與解密,對(duì)優(yōu)秀的學(xué)生要求能夠?qū)崿F(xiàn)數(shù)字簽名的生成與驗(yàn)證1.2實(shí)驗(yàn)內(nèi)容(1)實(shí)現(xiàn)客戶服務(wù)器之間的通信;(2)發(fā)送方傳輸?shù)南⑹褂肁ES加密,接收方對(duì)消息解密獲取明文;(3)發(fā)送方傳輸?shù)南⑹褂肏MAC處理,接收方驗(yàn)證消息的完整性;(4)發(fā)送方對(duì)傳輸?shù)南⑹褂肦SA進(jìn)行簽名,接收方驗(yàn)證數(shù)字簽名。1.3相關(guān)知識(shí)1.3.1對(duì)稱密碼AES 1997年美國(guó)國(guó)家標(biāo)準(zhǔn)和技術(shù)委員會(huì)NIST宣布征集一個(gè)新的對(duì)
4、稱密鑰分組密碼算法,以取代DES作為新的加密標(biāo)準(zhǔn),新的算法被命名為高級(jí)加密標(biāo)準(zhǔn)AES。經(jīng)過(guò)角逐,由比利時(shí)密碼學(xué)家Daemen和Rijment共同設(shè)計(jì)的Rijndael算法成為最后贏家。目前的AES算法是一個(gè)迭代型分組密碼,其分組長(zhǎng)度和密鑰長(zhǎng)度都可變,各自支持128比特、192比特、256比特。與DES相同,AES也是由最基本的變換單位“輪”多次迭代而成的,當(dāng)分組長(zhǎng)度和密鑰分組長(zhǎng)度均為128bit時(shí),輪數(shù)為N=10。AES的輪(除最后一輪)變換由四個(gè)不同的變換組成,這些變化被稱之為內(nèi)部輪函數(shù),可以表示成如下形式:Round(State,RoundKey)SubBytes(State);Shift
5、Rows(State);MixColumns(State);AddRoundKey(State,RoundKey);State表示消息矩陣;RoundKey表示輪密鑰矩陣;SubBytes(State)為字節(jié)代替變換、ShiftRows(State)為行移位變換、MixColumns(State)為列混合變換、AddRoundKey(State,RoundKey)為與子密鑰異或。最后一輪略微不同,將其記為FinalRoundKey(State,RoundKey),相當(dāng)于前面的Round(State,RoundKey)去掉MixColumns(State)。對(duì)于加密來(lái)說(shuō),輸入到第一輪的State
6、就是明文消息矩陣,最后一輪輸出的State就是對(duì)應(yīng)的密文消息矩陣。AES的解密變換和加密變換時(shí)互逆的,輪函數(shù)也分為4層,分別為InvShiftRow(State)逆行移位變換、InvByteSub(State)逆字節(jié)代替變換、AddRoundKey(State,RoundKey)與子密鑰位異或和InvMixColumn(State)逆列混合變換,可表示為:InvRound(State,RoundKey)InvShiftRow(State);InvByteSub(State);AddRoundKey(State,RoundKey);InvMixColumn(State);明文明文State化Ro
7、undKeySubBytes(State)ShiftRows(State)MixColumns(State)AddRoundKey(State,RoundKey)RoundKeySubBytes(State)ShiftRows(State)AddRoundKey(State,RoundKey)RoundKeyAES加密過(guò)程1.3.2公鑰密碼RSARSA公鑰加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美國(guó)麻省理工學(xué)院)開發(fā)的。RSA取名來(lái)自開發(fā)他們?nèi)叩拿?。RSA是目前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推
8、薦為公鑰數(shù)據(jù)加密標(biāo)準(zhǔn)。RSA算法基于一個(gè)十分簡(jiǎn)單的數(shù)論事實(shí):將兩個(gè)大素?cái)?shù)相乘十分容易,但那時(shí)想要對(duì)其乘積進(jìn)行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。算法描述:(1)密鑰的產(chǎn)生選擇兩個(gè)保密的大素?cái)?shù)p和q;計(jì)算n=p*q,(n)=(p-1)(q-1),其中,(n)是n的歐拉函數(shù)值;選一整數(shù)e,滿足1<e<(n),且gcd(n),e)=1;計(jì)算d,滿足de=1mod(n),即d是e在模(n)下的乘法逆元;以e,n為公開鑰,以d,n為秘密鑰。(2)加密加密時(shí)首先將明文比特串分組,是的每個(gè)分組對(duì)應(yīng)的十進(jìn)制數(shù)小于n,然后對(duì)每個(gè)明文分組m,做加密運(yùn)算:c=m mod n。(3)解密對(duì)
9、密文分組的解密運(yùn)算為:m=c mod n。RSA是被研究得最廣泛的公鑰算法,從提出到現(xiàn)在已近二十年,經(jīng)歷了各種攻擊的考驗(yàn),逐漸為人們接受,普遍認(rèn)為是目前最優(yōu)秀的公鑰方案之一。1.4實(shí)驗(yàn)成果我們使用JAVA語(yǔ)言完成實(shí)驗(yàn)。1.4.1代碼分析思路分析:首先完成客戶服務(wù)器通信模塊,然后插入加密模塊下面貼出部分代碼以供分析發(fā)送部分:public class UDPSend extends Frame implements ActionListener/圖形界面Panel p1=new Panel();Panel p2=new Panel();TextField textField1=new TextFi
10、eld();Button button1=new Button();Button button2=new Button();public UDPSend()tryjbInit();catch(Exception e)e.printStackTrace();public void actionPerformed(ActionEvent e)Component com=(Component)e.getSource();if(com.equals(button1)sendData();else if(com.equals(button2)System.exit(0);elsesendData();/
11、發(fā)送數(shù)據(jù)void sendData()try/添加DES加密部分String secr="123456789" DESPlus des = new DESPlus(secr);/自定義密鑰String msg=textField1.getText();/明文msgif(msg.equals("")return;msg=des.encrypt(msg);/msg=crypt(msg);textField1.setText("");InetAddress address=InetAddress.getByName("58.218
12、.3.2");/通信方的IP地址int len=msg.length();bytemessage=new bytelen;msg.getBytes(0, len, message, 0);DatagramPacket packet=new DatagramPacket(message,len,address,9999);DatagramSocket socket=new DatagramSocket();socket.send(packet);catch(Exception e)private void jbInit()throws Exceptionthis.setTitle(&q
13、uot;發(fā)送數(shù)據(jù)報(bào)");button1.setLabel("發(fā)送");button2.setLabel("退出");this.add(textField1,BorderLayout.NORTH);this.add(button1,BorderLayout.CENTER);this.add(button2,BorderLayout.SOUTH);button1.addActionListener(this);button2.addActionListener(this);textField1.addActionListener(this);接收部
14、分:public class UDPGet extends Frame implements ActionListenerTextArea textArea1=new TextArea();Button button1=new Button();public UDPGet()tryjbInit();catch(Exception e)e.printStackTrace();void waitForData()trybytebuffer=new byte1024;DatagramPacket packet=new DatagramPacket(buffer,buffer.length);Data
15、gramSocket socket=new DatagramSocket(9999);while(true)socket.receive(packet);String s=new String(buffer,0,0,packet.getLength();String test2="123456789"DESPlus des = new DESPlus(test2);/自定義密鑰s=des.decrypt(s);textArea1.append(s+"n");packet=new DatagramPacket(buffer,buffer.length);c
16、atch(Exception e)private void jbInit()throws Exceptionthis.setTitle("接受數(shù)據(jù)報(bào)");textArea1.setText("");button1.setLabel("退出");this.add(textArea1,BorderLayout.CENTER);this.add(button1,BorderLayout.SOUTH);button1.addActionListener(this);public void actionPerformed(ActionEvent
17、 e)Component com=(Component)e.getSource();if(com.equals(button1)System.exit(0);加密模塊:public class DESPlus private static String strDefaultKey = "national" private Cipher encryptCipher = null; private Cipher decryptCipher = null; public static String byteArr2HexStr(byte arrB) throws Exceptio
18、n int iLen = arrB.length; / 每個(gè)byte用兩個(gè)字符才能表示,所以字符串的長(zhǎng)度是數(shù)組長(zhǎng)度的兩倍 StringBuffer sb = new StringBuffer(iLen * 2); for (int i = 0; i < iLen; i+) int intTmp = arrBi; / 把負(fù)數(shù)轉(zhuǎn)換為正數(shù) while (intTmp < 0) intTmp = intTmp + 256; / 小于0F的數(shù)需要在前面補(bǔ)0 if (intTmp < 16) sb.append("0"); sb.append(Integer.toSt
19、ring(intTmp, 16); return sb.toString(); public static byte hexStr2ByteArr(String strIn) throws Exception byte arrB = strIn.getBytes(); int iLen = arrB.length; / 兩個(gè)字符表示一個(gè)字節(jié),所以字節(jié)數(shù)組長(zhǎng)度是字符串長(zhǎng)度除以2 byte arrOut = new byteiLen / 2; for (int i = 0; i < iLen; i = i + 2) String strTmp = new String(arrB, i, 2)
20、; arrOuti / 2 = (byte) Integer.parseInt(strTmp, 16); return arrOut; public DESPlus() throws Exception this(strDefaultKey); /Window -> Preferences -> Java -> Compiler -> Errors/Warnings -> Deprecated and restricted API -> Forbidden reference (access rules) -> Warnings,或者在項(xiàng)目上修改編譯選
21、項(xiàng)。 public DESPlus(String strKey) throws Exception Security.addProvider(new vider.SunJCE(); Key key = getKey(strKey.getBytes(); encryptCipher = Cipher.getInstance("DES"); encryptCipher.init(Cipher.ENCRYPT_MODE, key); decryptCipher = Cipher.getInstance("DES"); dec
22、ryptCipher.init(Cipher.DECRYPT_MODE, key); public byte encrypt(byte arrB) throws Exception return encryptCipher.doFinal(arrB); public String encrypt(String strIn) throws Exception return byteArr2HexStr(encrypt(strIn.getBytes(); public byte decrypt(byte arrB) throws Exception return decryptCipher.doF
23、inal(arrB); public String decrypt(String strIn) throws Exception return new String(decrypt(hexStr2ByteArr(strIn); private Key getKey(byte arrBTmp) throws Exception / 創(chuàng)建一個(gè)空的8位字節(jié)數(shù)組(默認(rèn)值為0) byte arrB = new byte8; / 將原始字節(jié)數(shù)組轉(zhuǎn)換為8位 for (int i = 0; i < arrBTmp.length && i < arrB.length; i+) arr
24、Bi = arrBTmpi; / 生成密鑰 Key key = new javax.crypto.spec.SecretKeySpec(arrB, "DES"); return key; 1.4.2成果展示(加密在通信過(guò)程中完成,接收方直接顯示得到的明文)1.5實(shí)驗(yàn)小結(jié)通過(guò)本次實(shí)驗(yàn),我們學(xué)習(xí)了socket()編程,復(fù)習(xí)了java的應(yīng)用,了解了網(wǎng)絡(luò)編程及通訊技術(shù)。由于技術(shù)有限,實(shí)驗(yàn)成果比較簡(jiǎn)陋,并沒有加入簽名驗(yàn)證模塊。實(shí)驗(yàn)二 網(wǎng)絡(luò)攻防 利用135端口入侵個(gè)人計(jì)算機(jī) 2.1實(shí)驗(yàn)?zāi)康脑u(píng)估操作系統(tǒng)的安全性,利用工具或獨(dú)立編程發(fā)現(xiàn)系統(tǒng)漏洞,利用工具或獨(dú)立編程攻破指定的系統(tǒng),增強(qiáng)系統(tǒng)的
25、安全性。2.2實(shí)驗(yàn)內(nèi)容 了解系統(tǒng)漏洞,通過(guò)實(shí)踐提高學(xué)生網(wǎng)絡(luò)攻防能力,包括漏洞發(fā)現(xiàn),利用腳本攻擊遠(yuǎn)程系統(tǒng)。2.3實(shí)驗(yàn)原理通過(guò)135端口入侵實(shí)際上是利用RPC漏洞來(lái)攻擊計(jì)算機(jī)的。一般情況下135端口主要用于使用RPC(Remote Procedure Call,遠(yuǎn)程過(guò)程調(diào)用)協(xié)議并提供DCOM(分布式組件對(duì)象模型)服務(wù),通過(guò)RPC能確保在一臺(tái)計(jì)算機(jī)上運(yùn)行的程式能順利地 執(zhí)行遠(yuǎn)程計(jì)算機(jī)上的代碼,使用DCOM能通過(guò)網(wǎng)絡(luò)直接進(jìn)行通信,能夠跨包括HTTP協(xié)議在內(nèi)的多種網(wǎng)絡(luò)傳輸。RPC本身在處理通過(guò)TCP/IP的消息交換部分有一個(gè)漏洞,該漏洞是由于錯(cuò)誤地處理格式不正確的消息造成的。會(huì)影響到RPC和DCOM之
26、間的一個(gè)接口,該接口偵聽的端口就是135。2.4實(shí)驗(yàn)步驟1、通過(guò)135端口入侵,攻擊者首先需要查找網(wǎng)絡(luò)上存在135端口漏洞的主機(jī)地址,在查找此類主機(jī)過(guò)程中,能使用一些掃描工具,比如SuperScan就是典型的端口工具之一。在SuperScan“開始”文本框中輸入需要掃描的起始地址,然后在“結(jié)束”文本框里填寫好掃描結(jié)束的IP地址,在“掃描類型”選項(xiàng)中選擇“所有端口定義”單選按鈕,并在右側(cè)的文本框中輸入“135”。再點(diǎn)擊“開始”按鈕即可開始掃描。掃描結(jié)束后,在下方的列表中能查看目標(biāo)主機(jī)打開的端口。然后再點(diǎn)擊“Save”按鈕選好保存路徑,把里面有漏洞的IP整理下即可。利用SuperScan掃描查找存
27、在135端口漏洞的主機(jī)2、得到有漏洞后,我們更有一個(gè)功能強(qiáng)大的掃描工具,比如NTScan漢化版。然后在“主機(jī)文件“處點(diǎn)擊“打開”按鈕找到我們剛才保存的IP路徑,在連接共享$處選擇“WMI掃描”,在“掃描打開端口的主機(jī)”處填寫135端口。最后點(diǎn)擊“開始”即可。要不了多久就會(huì)有結(jié)果顯示。 使用NTscan再次掃描漏洞主機(jī)3、獲得漏洞主機(jī)用戶名以后,我們需要一個(gè)開啟的工具,那就是Recton v2.5。好了,萬(wàn)事具有之欠那“東風(fēng)”拉。把剛剛掃描的IP輸入TELNET界面的“遠(yuǎn)程主機(jī)”處,及用戶名和密碼,不過(guò)一般情況下密碼都是空。下一步點(diǎn)擊“開始執(zhí)行”按鈕等待把TELNET打開吧。打開后按WIN+R輸
28、入CMD進(jìn)入再輸入Telnet IP 回車,會(huì)提示讓你輸入用戶名,把用戶名輸入后,回車即可進(jìn)入主機(jī)。而且得到的還是SYSTEM權(quán)限。 使用Recton開啟telnet服務(wù)telnet到目標(biāo)主機(jī)4、下一步就是為我們加了擁有管理員權(quán)限的用戶,這樣我們就輕松的獲取了一臺(tái)肉機(jī)。最后我們能上傳一些遠(yuǎn)程性木馬軟件作為后門,比如灰鴿子,冰河等。在這里我就不在展示。2.5實(shí)驗(yàn)小結(jié) 通過(guò)本次實(shí)驗(yàn)使我對(duì)與網(wǎng)絡(luò)攻防有了更加深入的了解,也學(xué)會(huì)了如何抓到自己的肉雞,但是更深層的網(wǎng)絡(luò)攻防技術(shù)還需要熟悉更多的工具和方法,我需要更深入的學(xué)習(xí)和運(yùn)用。實(shí)驗(yàn)三 Web服務(wù)器配置3.1實(shí)驗(yàn)?zāi)康牟僮飨到y(tǒng)的配置與管理、Web服務(wù)器的管理
29、與配置、郵件服務(wù)器的管理與配置3.2實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)本章的學(xué)習(xí),使學(xué)生熟悉Windows與Linux操作系統(tǒng)的配置與管理。操作系統(tǒng)的安裝、系統(tǒng)文件的配置、帳號(hào)管理、服務(wù)管理、配置安全策略、安全審核;IIS安全和Apeach安全。安裝Web服務(wù)、配置訪問(wèn)控制、使用文件完整性檢查;MICROSOFT EXCHANGE和SENDMAIL的管理與配置。3.3實(shí)驗(yàn)內(nèi)容3.3.1 IIS配置1.首先打開Win7控制面板,單擊“程序和功能”,然后選擇左側(cè)的“打開或關(guān)閉Windows功能”。2.現(xiàn)在出現(xiàn)了安裝Windows功能的選項(xiàng)菜單,注意選擇的項(xiàng)目,我們需要手動(dòng)選擇需要的功能,下面這張圖片把需要安裝的服務(wù)都已
30、經(jīng)選擇了,大家可以按照?qǐng)D片勾選功能。3.安裝完成后,再次進(jìn)入控制面板,選擇“管理工具”,進(jìn)入后雙擊 Internet(IIS)管理器選項(xiàng),進(jìn)入IIS設(shè)置。4.選擇左邊小窗口的 Default Web Site,單擊幾下qinpeng-PC(電腦的型號(hào))就可以看到Default Web Site,然后雙擊中間窗口出現(xiàn)的“ASP”選項(xiàng)。5.IIS中ASP“父路徑”是沒有啟用的,要開啟父路徑,選擇True,搞定父路徑選項(xiàng)。6.配置IIS的站點(diǎn)。單擊右邊的“高級(jí)設(shè)置”選項(xiàng),則可以設(shè)置網(wǎng)站的目錄(最好將其設(shè)置在某一盤符的根目錄下)。7.點(diǎn)擊右側(cè)的“綁定”,設(shè)置網(wǎng)站的端口。至此,Win7旗艦版的IIS設(shè)置
31、已經(jīng)基本完成了,ASP+Access程序可以調(diào)試成功。8.在編輯權(quán)限中實(shí)現(xiàn)安全控制3.3.2 FTP服務(wù)器配置1首先在控制面板->刪除程序->打開或關(guān)閉windows功能->internet信息服務(wù)里面->FTP服務(wù)2、控制面板-系統(tǒng)和安全-管理工具-Internet 信息服務(wù)(IIS)管理器-右鍵點(diǎn)你計(jì)算機(jī)名稱那里,選擇添加FTP站點(diǎn);3、FTP站點(diǎn)名稱輸入:"demo"-選擇你的FTP目錄物理路徑,點(diǎn)下一步-Ip地址選“全部未分配”,端口可以自己設(shè),但不能用80,勾上“自動(dòng)FTP站點(diǎn)”,SSL選“允許”,點(diǎn)下一步-身份驗(yàn)證選“匿名”,允許訪問(wèn)選“
32、匿名用戶”,權(quán)限勾“讀取”,點(diǎn)完成。4.配置FTP站點(diǎn) 5. 測(cè)試站點(diǎn)是否正常工作 3.3.3帳戶管理1、 打開控制面板,用戶帳戶2、新建一個(gè)帳戶,配置用戶名2、 選擇用戶類型4、在用戶帳戶中可以更改用戶名稱,創(chuàng)建密碼,更改賬戶類型等5、創(chuàng)建用戶密碼6、查看用戶類型7、安全設(shè)置:打開控制面板管理工具中的本地安全設(shè)置8、配置帳戶策略密碼策略】9、策略配置10、配置IP安全策略 3.3.4郵件服務(wù)器配置1、 啟動(dòng)OUTLook2、 安裝SMTP服務(wù)器3、 在工具電子郵件帳戶中創(chuàng)建帳戶4、 選擇服務(wù)器類型5、EMON設(shè)定6、創(chuàng)建郵件3.4實(shí)驗(yàn)
33、小結(jié) 在本次實(shí)驗(yàn)中,對(duì)IIS的安裝及使用都有了基本的了解,在實(shí)現(xiàn)操作系統(tǒng)(Windows/Linux)、Web服務(wù)器或應(yīng)用服務(wù)器(IIS/Apache)、郵件服務(wù)器(Exchage)的管理與配置過(guò)程中,通過(guò)自己的操作對(duì)他們的配置也有了一定程度的熟悉。實(shí)驗(yàn)四 信息系統(tǒng)安全會(huì)員系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)4.1實(shí)驗(yàn)?zāi)康恼莆諛?gòu)建安全信息系統(tǒng)的整個(gè)流程4.2實(shí)驗(yàn)內(nèi)容實(shí)現(xiàn)一個(gè)安全的信息系統(tǒng),包括用戶注冊(cè)、認(rèn)證、授權(quán)、訪問(wèn)控制等功能。4.3開發(fā)環(huán)境編譯環(huán)境:VS2005數(shù)據(jù)庫(kù):SQL20004.4系統(tǒng)實(shí)現(xiàn) 見源代碼。 4.4.1功能設(shè)計(jì)1、基于角色的訪問(wèn)控制,會(huì)員登陸和管理員登陸2、會(huì)員注冊(cè),讓訪問(wèn)者注冊(cè)使用此系統(tǒng)3、
34、密碼提示,可以讓會(huì)員找回自己的密碼4、為了安全性,對(duì)于某些信息加了限制,比如賬號(hào)、密碼不得少于6個(gè)字符。4.4.2、數(shù)據(jù)庫(kù)設(shè)計(jì)1、數(shù)據(jù)表共有三個(gè)表:會(huì)員表(customer)、管理員表(admin)、城市表(city)會(huì)員表和管理員表信息字段相同,創(chuàng)建會(huì)員表,管理員表一樣。城市表主要有id和name兩個(gè)字段,存儲(chǔ)會(huì)員,管理員城市信息。2、存儲(chǔ)過(guò)程有很多存儲(chǔ)過(guò)程:注冊(cè)信息,獲取城市信息,驗(yàn)證身份合法性,修改信息,密碼提示等。這里主要介紹實(shí)現(xiàn)訪問(wèn)控制存儲(chǔ)過(guò)程,注冊(cè)信息存儲(chǔ)過(guò)程、修改信息存儲(chǔ)過(guò)程。3、訪問(wèn)控制存儲(chǔ)過(guò)程驗(yàn)證是否是合法的用戶和合法的管理員,管理員和會(huì)員的驗(yàn)證存儲(chǔ)過(guò)程的相似,只是從admi
35、n表里取字段。這個(gè)存儲(chǔ)過(guò)程實(shí)現(xiàn)從數(shù)據(jù)庫(kù)讀數(shù)據(jù)和提交給服務(wù)器的數(shù)據(jù)對(duì)比,以驗(yàn)證是否是合法的會(huì)員或者管理員4.4.3中間層根據(jù)前面介紹,系統(tǒng)可以劃分為4個(gè)模塊:登陸,注冊(cè),修改,密碼提示。要實(shí)現(xiàn)這些模塊的功能,就需要中間層的支持才能實(shí)現(xiàn)。主要有幾個(gè)類組成,來(lái)實(shí)現(xiàn)獲得數(shù)據(jù)庫(kù)連接,獲取數(shù)據(jù)以及實(shí)現(xiàn)數(shù)據(jù)的處理。ConnStr類ConnStr類,實(shí)現(xiàn)從Web.config文件中的appSettings的節(jié)點(diǎn)中的key=Conn的Value中獲得連接數(shù)據(jù)庫(kù)的字符串。Web.config文件中的appSettings節(jié)點(diǎn)內(nèi)容如下:<!-數(shù)據(jù)庫(kù)連接字符串 -><appSettings>&
36、lt;add key="Conn" value="server=localhost;uid=sa;pwd=;database=master"/></appSettings>SQLDataReaderResult類SQLDataReaderResult類實(shí)現(xiàn)了獲取一個(gè)SqlDataReader,并可以對(duì)SqlDataReader進(jìn)行關(guān)閉的功能。MemberDetail類MemberDetail類,描述一個(gè)會(huì)員應(yīng)該包含哪些信息??梢岳斫鉃閷⒁粭l會(huì)員信息抽象為一個(gè)MemberDetail類實(shí)例化后的對(duì)象。MemberMgr類MemberMgr
37、類,是整個(gè)中間層里最重要的類,會(huì)員信息的增加、修改和驗(yàn)證,都是在該類成員函數(shù)里實(shí)現(xiàn)的。1、需要使用的命名空間using System;using System.Data;using System.Data.SqlClient;2、先聲明的類里的全局變量ConnStr ConnStr=new ConnStr();SqlCommand mycmd;SqlDataReader Sqldr;3、成員函數(shù)protected int RegNMod(int op,ref MemberDetail user)根據(jù)條件用注冊(cè)或修改會(huì)員信息。注冊(cè)會(huì)員信息調(diào)用了函數(shù)庫(kù)中的“Register”存儲(chǔ)過(guò)程,會(huì)員信息調(diào)用
38、了數(shù)據(jù)庫(kù)中的“Modify”存儲(chǔ)過(guò)程。代碼略。4、成員函數(shù)public int Register(ref MemberDetail user)用于MemberMgr類被實(shí)例化以后,對(duì)外注冊(cè)會(huì)員信息的方法。5、成員函數(shù)public int Modify(ref MemberDetail user)用于MemberMgr類被實(shí)例化以后,對(duì)外實(shí)現(xiàn)修改會(huì)員信息的方法。6、成員函數(shù)public MemberDetail GetDetailByID(int ID)和GetDetailByPIN(string PIN)根據(jù)ID或者PIN帳號(hào)獲得會(huì)員信息。都調(diào)用了內(nèi)部方法GetDetail(int op,object obj)。7、成員函數(shù)protected MemberDetail GetDetail(int op,object obj)Me
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 財(cái)務(wù)制度合同管理范例
- 公司汽車租賃協(xié)議合同
- 有關(guān)個(gè)人和企業(yè)借款合同
- 小區(qū)門口門面租賃合同
- 進(jìn)口銷售合同
- 金融行業(yè)投資產(chǎn)品風(fēng)險(xiǎn)提示合同
- 湖南環(huán)境生物職業(yè)技術(shù)學(xué)院《ntroductontoMarketng》2023-2024學(xué)年第二學(xué)期期末試卷
- 運(yùn)城師范高等??茖W(xué)?!渡鐣?huì)化閱讀》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海師范大學(xué)天華學(xué)院《展具設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 中山職業(yè)技術(shù)學(xué)院《工程流體學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 人教版小學(xué)四年級(jí)下冊(cè)《體育與健康》全冊(cè)教案
- 法律文書寫作(第五版)PPT完整全套教學(xué)課件
- 半導(dǎo)體制造技術(shù)導(dǎo)論
- 人教版四年級(jí)數(shù)學(xué)下冊(cè)教材分析精講課件
- 7S目視化管理標(biāo)準(zhǔn)
- 酒店成本管理系統(tǒng)PICC
- 產(chǎn)品手繪設(shè)計(jì)表現(xiàn)技法PPT完整全套教學(xué)課件
- GA/T 1988-2022移動(dòng)警務(wù)即時(shí)通信系統(tǒng)功能及互聯(lián)互通技術(shù)要求
- 文科學(xué)術(shù)規(guī)范與學(xué)術(shù)論文寫作課件
- 人教版小學(xué)二年級(jí)體育下冊(cè)全冊(cè)教案
- 農(nóng)業(yè)政策學(xué)PPT完整全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論