信安綜合實踐報告_第1頁
信安綜合實踐報告_第2頁
信安綜合實踐報告_第3頁
信安綜合實踐報告_第4頁
信安綜合實踐報告_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、信息安全專業(yè)綜合實踐設(shè)計報告專業(yè): 信息安全 班級: 小組成員: 指導(dǎo)教師: 職 稱: 中國礦業(yè)大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院 年 月 徐州設(shè)計日期 年 月 日至 年 月 日小組成員在本次設(shè)計中承擔(dān)的任務(wù)成績指導(dǎo)教師簽字: 年 月 日前言為了提高學(xué)生的動手能力,培養(yǎng)同學(xué)們的學(xué)習(xí)興趣,同時對所學(xué)知識進(jìn)行全面的復(fù)習(xí),特在第7學(xué)期開設(shè)本課程。信息安全專業(yè)綜合實踐是信息安全專業(yè)的集中性實踐環(huán)節(jié)課程。本課程的任務(wù)是訓(xùn)練學(xué)生綜合利用所學(xué)理論知識和實踐技能解決實際問題,提高學(xué)生獨立鉆研及團(tuán)隊合作能力,為適應(yīng)今后的工作打下扎實的基礎(chǔ)。通過該課程實踐,使學(xué)生能夠利用密碼學(xué)知識實現(xiàn)通信系統(tǒng)的機(jī)密性、完整性;能夠評估系統(tǒng)

2、的安全性,能夠利用弱點攻破遠(yuǎn)程系統(tǒng),能夠有效地防御遠(yuǎn)程攻擊;對Web服務(wù)、Email服務(wù)能夠熟練地管理和配置,增強(qiáng)系統(tǒng)的安全性;能夠綜合利用認(rèn)證、授權(quán)、訪問控制設(shè)計一個安全、高效的信息系統(tǒng)。本實驗報告主要分為四個部分:第一篇,網(wǎng)絡(luò)通信安全;第二篇,網(wǎng)絡(luò)攻擊;第三篇,系統(tǒng)管理與配置;第四篇,信息系統(tǒng)安全。目錄實驗一 網(wǎng)絡(luò)通信安全1.1實驗?zāi)康?.2實驗內(nèi)容1.3相關(guān)知識1.4實驗成果1.5實驗小結(jié)實驗二 網(wǎng)絡(luò)攻防2.1實驗?zāi)康?.2實驗內(nèi)容2.3實驗原理2.4實驗步驟2.5實驗小結(jié)實驗三 Web服務(wù)器配置3.1實驗?zāi)康?.2實驗要求3.3實驗內(nèi)容3.4實驗小結(jié)實驗四 信息系統(tǒng)安全4.1實驗?zāi)康?

3、.2實驗內(nèi)容4.3開發(fā)環(huán)境4.4系統(tǒng)實現(xiàn) 4.5實驗小結(jié)實驗一 網(wǎng)絡(luò)通信安全1.1實驗?zāi)康耐ㄟ^本章的學(xué)習(xí),使學(xué)生掌握密碼學(xué)在通信安全中的具體應(yīng)用。基本要求能夠?qū)崿F(xiàn)客戶服務(wù)器通信,能夠使用AES算法實現(xiàn)消息的加密與解密,對優(yōu)秀的學(xué)生要求能夠?qū)崿F(xiàn)數(shù)字簽名的生成與驗證1.2實驗內(nèi)容(1)實現(xiàn)客戶服務(wù)器之間的通信;(2)發(fā)送方傳輸?shù)南⑹褂肁ES加密,接收方對消息解密獲取明文;(3)發(fā)送方傳輸?shù)南⑹褂肏MAC處理,接收方驗證消息的完整性;(4)發(fā)送方對傳輸?shù)南⑹褂肦SA進(jìn)行簽名,接收方驗證數(shù)字簽名。1.3相關(guān)知識1.3.1對稱密碼AES 1997年美國國家標(biāo)準(zhǔn)和技術(shù)委員會NIST宣布征集一個新的對

4、稱密鑰分組密碼算法,以取代DES作為新的加密標(biāo)準(zhǔn),新的算法被命名為高級加密標(biāo)準(zhǔn)AES。經(jīng)過角逐,由比利時密碼學(xué)家Daemen和Rijment共同設(shè)計的Rijndael算法成為最后贏家。目前的AES算法是一個迭代型分組密碼,其分組長度和密鑰長度都可變,各自支持128比特、192比特、256比特。與DES相同,AES也是由最基本的變換單位“輪”多次迭代而成的,當(dāng)分組長度和密鑰分組長度均為128bit時,輪數(shù)為N=10。AES的輪(除最后一輪)變換由四個不同的變換組成,這些變化被稱之為內(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)。對于加密來說,輸入到第一輪的State

6、就是明文消息矩陣,最后一輪輸出的State就是對應(yīng)的密文消息矩陣。AES的解密變換和加密變換時互逆的,輪函數(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加密過程1.3.2公鑰密碼RSARSA公鑰加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美國麻省理工學(xué)院)開發(fā)的。RSA取名來自開發(fā)他們?nèi)叩拿帧SA是目前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推

8、薦為公鑰數(shù)據(jù)加密標(biāo)準(zhǔn)。RSA算法基于一個十分簡單的數(shù)論事實:將兩個大素數(shù)相乘十分容易,但那時想要對其乘積進(jìn)行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。算法描述:(1)密鑰的產(chǎn)生選擇兩個保密的大素數(shù)p和q;計算n=p*q,(n)=(p-1)(q-1),其中,(n)是n的歐拉函數(shù)值;選一整數(shù)e,滿足1<e<(n),且gcd(n),e)=1;計算d,滿足de=1mod(n),即d是e在模(n)下的乘法逆元;以e,n為公開鑰,以d,n為秘密鑰。(2)加密加密時首先將明文比特串分組,是的每個分組對應(yīng)的十進(jìn)制數(shù)小于n,然后對每個明文分組m,做加密運(yùn)算:c=m mod n。(3)解密對

9、密文分組的解密運(yùn)算為:m=c mod n。RSA是被研究得最廣泛的公鑰算法,從提出到現(xiàn)在已近二十年,經(jīng)歷了各種攻擊的考驗,逐漸為人們接受,普遍認(rèn)為是目前最優(yōu)秀的公鑰方案之一。1.4實驗成果我們使用JAVA語言完成實驗。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ù)報");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ù)報");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; / 每個byte用兩個字符才能表示,所以字符串的長度是數(shù)組長度的兩倍 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; / 兩個字符表示一個字節(jié),所以字節(jié)數(shù)組長度是字符串長度除以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,或者在項目上修改編譯選

21、項。 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)建一個空的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成果展示(加密在通信過程中完成,接收方直接顯示得到的明文)1.5實驗小結(jié)通過本次實驗,我們學(xué)習(xí)了socket()編程,復(fù)習(xí)了java的應(yīng)用,了解了網(wǎng)絡(luò)編程及通訊技術(shù)。由于技術(shù)有限,實驗成果比較簡陋,并沒有加入簽名驗證模塊。實驗二 網(wǎng)絡(luò)攻防 利用135端口入侵個人計算機(jī) 2.1實驗?zāi)康脑u估操作系統(tǒng)的安全性,利用工具或獨立編程發(fā)現(xiàn)系統(tǒng)漏洞,利用工具或獨立編程攻破指定的系統(tǒng),增強(qiáng)系統(tǒng)的

25、安全性。2.2實驗內(nèi)容 了解系統(tǒng)漏洞,通過實踐提高學(xué)生網(wǎng)絡(luò)攻防能力,包括漏洞發(fā)現(xiàn),利用腳本攻擊遠(yuǎn)程系統(tǒng)。2.3實驗原理通過135端口入侵實際上是利用RPC漏洞來攻擊計算機(jī)的。一般情況下135端口主要用于使用RPC(Remote Procedure Call,遠(yuǎn)程過程調(diào)用)協(xié)議并提供DCOM(分布式組件對象模型)服務(wù),通過RPC能確保在一臺計算機(jī)上運(yùn)行的程式能順利地 執(zhí)行遠(yuǎn)程計算機(jī)上的代碼,使用DCOM能通過網(wǎng)絡(luò)直接進(jìn)行通信,能夠跨包括HTTP協(xié)議在內(nèi)的多種網(wǎng)絡(luò)傳輸。RPC本身在處理通過TCP/IP的消息交換部分有一個漏洞,該漏洞是由于錯誤地處理格式不正確的消息造成的。會影響到RPC和DCOM之

26、間的一個接口,該接口偵聽的端口就是135。2.4實驗步驟1、通過135端口入侵,攻擊者首先需要查找網(wǎng)絡(luò)上存在135端口漏洞的主機(jī)地址,在查找此類主機(jī)過程中,能使用一些掃描工具,比如SuperScan就是典型的端口工具之一。在SuperScan“開始”文本框中輸入需要掃描的起始地址,然后在“結(jié)束”文本框里填寫好掃描結(jié)束的IP地址,在“掃描類型”選項中選擇“所有端口定義”單選按鈕,并在右側(cè)的文本框中輸入“135”。再點擊“開始”按鈕即可開始掃描。掃描結(jié)束后,在下方的列表中能查看目標(biāo)主機(jī)打開的端口。然后再點擊“Save”按鈕選好保存路徑,把里面有漏洞的IP整理下即可。利用SuperScan掃描查找存

27、在135端口漏洞的主機(jī)2、得到有漏洞后,我們更有一個功能強(qiáng)大的掃描工具,比如NTScan漢化版。然后在“主機(jī)文件“處點擊“打開”按鈕找到我們剛才保存的IP路徑,在連接共享$處選擇“WMI掃描”,在“掃描打開端口的主機(jī)”處填寫135端口。最后點擊“開始”即可。要不了多久就會有結(jié)果顯示。 使用NTscan再次掃描漏洞主機(jī)3、獲得漏洞主機(jī)用戶名以后,我們需要一個開啟的工具,那就是Recton v2.5。好了,萬事具有之欠那“東風(fēng)”拉。把剛剛掃描的IP輸入TELNET界面的“遠(yuǎn)程主機(jī)”處,及用戶名和密碼,不過一般情況下密碼都是空。下一步點擊“開始執(zhí)行”按鈕等待把TELNET打開吧。打開后按WIN+R輸

28、入CMD進(jìn)入再輸入Telnet IP 回車,會提示讓你輸入用戶名,把用戶名輸入后,回車即可進(jìn)入主機(jī)。而且得到的還是SYSTEM權(quán)限。 使用Recton開啟telnet服務(wù)telnet到目標(biāo)主機(jī)4、下一步就是為我們加了擁有管理員權(quán)限的用戶,這樣我們就輕松的獲取了一臺肉機(jī)。最后我們能上傳一些遠(yuǎn)程性木馬軟件作為后門,比如灰鴿子,冰河等。在這里我就不在展示。2.5實驗小結(jié) 通過本次實驗使我對與網(wǎng)絡(luò)攻防有了更加深入的了解,也學(xué)會了如何抓到自己的肉雞,但是更深層的網(wǎng)絡(luò)攻防技術(shù)還需要熟悉更多的工具和方法,我需要更深入的學(xué)習(xí)和運(yùn)用。實驗三 Web服務(wù)器配置3.1實驗?zāi)康牟僮飨到y(tǒng)的配置與管理、Web服務(wù)器的管理

29、與配置、郵件服務(wù)器的管理與配置3.2實驗?zāi)康耐ㄟ^本章的學(xué)習(xí),使學(xué)生熟悉Windows與Linux操作系統(tǒng)的配置與管理。操作系統(tǒng)的安裝、系統(tǒng)文件的配置、帳號管理、服務(wù)管理、配置安全策略、安全審核;IIS安全和Apeach安全。安裝Web服務(wù)、配置訪問控制、使用文件完整性檢查;MICROSOFT EXCHANGE和SENDMAIL的管理與配置。3.3實驗內(nèi)容3.3.1 IIS配置1.首先打開Win7控制面板,單擊“程序和功能”,然后選擇左側(cè)的“打開或關(guān)閉Windows功能”。2.現(xiàn)在出現(xiàn)了安裝Windows功能的選項菜單,注意選擇的項目,我們需要手動選擇需要的功能,下面這張圖片把需要安裝的服務(wù)都已

30、經(jīng)選擇了,大家可以按照圖片勾選功能。3.安裝完成后,再次進(jìn)入控制面板,選擇“管理工具”,進(jìn)入后雙擊 Internet(IIS)管理器選項,進(jìn)入IIS設(shè)置。4.選擇左邊小窗口的 Default Web Site,單擊幾下qinpeng-PC(電腦的型號)就可以看到Default Web Site,然后雙擊中間窗口出現(xiàn)的“ASP”選項。5.IIS中ASP“父路徑”是沒有啟用的,要開啟父路徑,選擇True,搞定父路徑選項。6.配置IIS的站點。單擊右邊的“高級設(shè)置”選項,則可以設(shè)置網(wǎng)站的目錄(最好將其設(shè)置在某一盤符的根目錄下)。7.點擊右側(cè)的“綁定”,設(shè)置網(wǎng)站的端口。至此,Win7旗艦版的IIS設(shè)置

31、已經(jīng)基本完成了,ASP+Access程序可以調(diào)試成功。8.在編輯權(quán)限中實現(xiàn)安全控制3.3.2 FTP服務(wù)器配置1首先在控制面板->刪除程序->打開或關(guān)閉windows功能->internet信息服務(wù)里面->FTP服務(wù)2、控制面板-系統(tǒng)和安全-管理工具-Internet 信息服務(wù)(IIS)管理器-右鍵點你計算機(jī)名稱那里,選擇添加FTP站點;3、FTP站點名稱輸入:"demo"-選擇你的FTP目錄物理路徑,點下一步-Ip地址選“全部未分配”,端口可以自己設(shè),但不能用80,勾上“自動FTP站點”,SSL選“允許”,點下一步-身份驗證選“匿名”,允許訪問選“

32、匿名用戶”,權(quán)限勾“讀取”,點完成。4.配置FTP站點    5. 測試站點是否正常工作  3.3.3帳戶管理1、 打開控制面板,用戶帳戶2、新建一個帳戶,配置用戶名2、 選擇用戶類型4、在用戶帳戶中可以更改用戶名稱,創(chuàng)建密碼,更改賬戶類型等5、創(chuàng)建用戶密碼6、查看用戶類型7、安全設(shè)置:打開控制面板管理工具中的本地安全設(shè)置8、配置帳戶策略密碼策略】9、策略配置10、配置IP安全策略 3.3.4郵件服務(wù)器配置1、 啟動OUTLook2、 安裝SMTP服務(wù)器3、 在工具電子郵件帳戶中創(chuàng)建帳戶4、 選擇服務(wù)器類型5、EMON設(shè)定6、創(chuàng)建郵件3.4實驗

33、小結(jié) 在本次實驗中,對IIS的安裝及使用都有了基本的了解,在實現(xiàn)操作系統(tǒng)(Windows/Linux)、Web服務(wù)器或應(yīng)用服務(wù)器(IIS/Apache)、郵件服務(wù)器(Exchage)的管理與配置過程中,通過自己的操作對他們的配置也有了一定程度的熟悉。實驗四 信息系統(tǒng)安全會員系統(tǒng)的設(shè)計實現(xiàn)4.1實驗?zāi)康恼莆諛?gòu)建安全信息系統(tǒng)的整個流程4.2實驗內(nèi)容實現(xiàn)一個安全的信息系統(tǒng),包括用戶注冊、認(rèn)證、授權(quán)、訪問控制等功能。4.3開發(fā)環(huán)境編譯環(huán)境:VS2005數(shù)據(jù)庫:SQL20004.4系統(tǒng)實現(xiàn) 見源代碼。 4.4.1功能設(shè)計1、基于角色的訪問控制,會員登陸和管理員登陸2、會員注冊,讓訪問者注冊使用此系統(tǒng)3、

34、密碼提示,可以讓會員找回自己的密碼4、為了安全性,對于某些信息加了限制,比如賬號、密碼不得少于6個字符。4.4.2、數(shù)據(jù)庫設(shè)計1、數(shù)據(jù)表共有三個表:會員表(customer)、管理員表(admin)、城市表(city)會員表和管理員表信息字段相同,創(chuàng)建會員表,管理員表一樣。城市表主要有id和name兩個字段,存儲會員,管理員城市信息。2、存儲過程有很多存儲過程:注冊信息,獲取城市信息,驗證身份合法性,修改信息,密碼提示等。這里主要介紹實現(xiàn)訪問控制存儲過程,注冊信息存儲過程、修改信息存儲過程。3、訪問控制存儲過程驗證是否是合法的用戶和合法的管理員,管理員和會員的驗證存儲過程的相似,只是從admi

35、n表里取字段。這個存儲過程實現(xiàn)從數(shù)據(jù)庫讀數(shù)據(jù)和提交給服務(wù)器的數(shù)據(jù)對比,以驗證是否是合法的會員或者管理員4.4.3中間層根據(jù)前面介紹,系統(tǒng)可以劃分為4個模塊:登陸,注冊,修改,密碼提示。要實現(xiàn)這些模塊的功能,就需要中間層的支持才能實現(xiàn)。主要有幾個類組成,來實現(xiàn)獲得數(shù)據(jù)庫連接,獲取數(shù)據(jù)以及實現(xiàn)數(shù)據(jù)的處理。ConnStr類ConnStr類,實現(xiàn)從Web.config文件中的appSettings的節(jié)點中的key=Conn的Value中獲得連接數(shù)據(jù)庫的字符串。Web.config文件中的appSettings節(jié)點內(nèi)容如下:<!-數(shù)據(jù)庫連接字符串 -><appSettings>&

36、lt;add key="Conn" value="server=localhost;uid=sa;pwd=;database=master"/></appSettings>SQLDataReaderResult類SQLDataReaderResult類實現(xiàn)了獲取一個SqlDataReader,并可以對SqlDataReader進(jìn)行關(guān)閉的功能。MemberDetail類MemberDetail類,描述一個會員應(yīng)該包含哪些信息。可以理解為將一條會員信息抽象為一個MemberDetail類實例化后的對象。MemberMgr類MemberMgr

37、類,是整個中間層里最重要的類,會員信息的增加、修改和驗證,都是在該類成員函數(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ù)條件用注冊或修改會員信息。注冊會員信息調(diào)用了函數(shù)庫中的“Register”存儲過程,會員信息調(diào)用

38、了數(shù)據(jù)庫中的“Modify”存儲過程。代碼略。4、成員函數(shù)public int Register(ref MemberDetail user)用于MemberMgr類被實例化以后,對外注冊會員信息的方法。5、成員函數(shù)public int Modify(ref MemberDetail user)用于MemberMgr類被實例化以后,對外實現(xiàn)修改會員信息的方法。6、成員函數(shù)public MemberDetail GetDetailByID(int ID)和GetDetailByPIN(string PIN)根據(jù)ID或者PIN帳號獲得會員信息。都調(diào)用了內(nèi)部方法GetDetail(int op,object obj)。7、成員函數(shù)protected MemberDetail GetDetail(int op,object obj)Me

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論