




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 成 績(jī) 評(píng) 定 表學(xué)生姓名石霖班級(jí)學(xué)號(hào)1103050137專(zhuān) 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)課程設(shè)計(jì)題目網(wǎng)站驗(yàn)證碼的設(shè)計(jì)與實(shí)現(xiàn)評(píng)語(yǔ)組長(zhǎng)簽字:成績(jī)?nèi)掌?2013年1月4 日課程設(shè)計(jì)任務(wù)書(shū)學(xué) 院信息科學(xué)與工程學(xué)院專(zhuān) 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)生姓名石霖班級(jí)學(xué)號(hào)1103050137課程設(shè)計(jì)題目網(wǎng)站驗(yàn)證碼的設(shè)計(jì)與實(shí)現(xiàn)實(shí)踐教學(xué)要求與任務(wù):為了防止網(wǎng)站被非法登陸,網(wǎng)站一般通過(guò)驗(yàn)證碼的方式,防止黑客用軟件非法登陸。驗(yàn)證碼一般采用干擾后的圖像顯示,人可以識(shí)別,但機(jī)器識(shí)別有困難。本案例用Visual C#.NET開(kāi)發(fā)一個(gè)網(wǎng)站的驗(yàn)證碼生成軟件,并在網(wǎng)頁(yè)上測(cè)試該軟件的有效性。工作計(jì)劃與進(jìn)度安排:第18周星期一:設(shè)計(jì)任務(wù)分析和總體設(shè)
2、計(jì)星期二:軟件算法和流程設(shè)計(jì)星期三、四、五:軟件編碼實(shí)現(xiàn)第19周周一:軟件總體調(diào)試周二:軟件運(yùn)行分析周三:答辯、驗(yàn)收程序周四:答辯、驗(yàn)收程序周五:書(shū)寫(xiě)課程設(shè)計(jì)報(bào)告,提交指導(dǎo)教師: 2013年1月4 日專(zhuān)業(yè)負(fù)責(zé)人: 2013年1月4日學(xué)院教學(xué)副院長(zhǎng): 2013年1月4日 目 錄1 需求分析 42 概要設(shè)計(jì) 4 2.1 題目概述 4 2.2 功能框圖 4 2.3算法流程圖 4 2.3.1驗(yàn)證碼隨機(jī)數(shù)的生成與分配5 2.3.2證碼進(jìn)行驗(yàn)證6 3 調(diào)試結(jié)果6 3.1 ASP.NET主頁(yè) 6 3.2登陸主頁(yè) 7 4 收獲與體會(huì) 8 5 參考文獻(xiàn) 8 6 附錄 91 需求分析網(wǎng)絡(luò)對(duì)現(xiàn)實(shí)生活已經(jīng)產(chǎn)生了非常大
3、的影響,網(wǎng)絡(luò)帶來(lái)快捷和方便的同時(shí)也產(chǎn)生了許許多多的新問(wèn)題,例如本案例討論的安全登錄問(wèn)題。大家都知道網(wǎng)絡(luò)登錄時(shí)必須輸入正確的驗(yàn)證碼才能登錄成功,這是因?yàn)闄C(jī)器很難識(shí)別驗(yàn)證碼。本案例就是通過(guò)Visual C#.NET語(yǔ)言和實(shí)際的操作來(lái)研究這一問(wèn)題。2 概要設(shè)計(jì)2.1 題目概述防止網(wǎng)站被非法登陸,防止黑客用軟件非法登陸,網(wǎng)站要設(shè)置驗(yàn)證碼。驗(yàn)證碼一 般采用干擾后的圖像顯示,人可以識(shí)別,但機(jī)器識(shí)別有困難。本案例用Visual C#.NET開(kāi)發(fā)一個(gè)網(wǎng)站的驗(yàn)證碼生成軟件,并在網(wǎng)頁(yè)上實(shí)現(xiàn)操作。2.2 功能框圖網(wǎng)站驗(yàn)證碼的設(shè)計(jì)與實(shí)現(xiàn)輸入驗(yàn)證碼驗(yàn)證成功與失敗的顯示隨機(jī)生成驗(yàn)證碼 圖2.2 總功能框圖2.3 算法流程
4、圖驗(yàn)證碼隨機(jī)數(shù)的生成與分配開(kāi)始定義驗(yàn)證碼VcodeNum生成驗(yàn)證碼i < VcodeNum + 1否是驗(yàn)證碼是否重復(fù)否是i+將驗(yàn)證碼寫(xiě)入文件結(jié)束 圖 2.3.1 驗(yàn)證碼隨機(jī)數(shù)的生成與分配證碼進(jìn)行驗(yàn)證開(kāi)始輸入驗(yàn)證碼輸入數(shù)據(jù)與給定驗(yàn)證碼是否相等驗(yàn)證失敗!驗(yàn)證成功結(jié)束 圖2.3.2 證碼進(jìn)行驗(yàn)證3 調(diào)試結(jié)果3.1 ASP.NET主頁(yè) 圖4.1 ASP.NET主頁(yè)3.2登陸主頁(yè)進(jìn)入登陸主頁(yè)面 4-2登陸主頁(yè)添加用戶(hù)名、密碼、驗(yàn)證碼,提交登陸,顯示驗(yàn)證成功的信息。 圖4-3登陸主頁(yè)4收獲與體會(huì) 一周的課程設(shè)計(jì)結(jié)束了,在這次的課程設(shè)計(jì)中不僅檢驗(yàn)了我所學(xué)習(xí)的知識(shí),也培養(yǎng)了我如何去把握一件事情,如何去做
5、一件事情,又如何完成一件事情。在設(shè)計(jì)過(guò)程中,與同學(xué)分工設(shè)計(jì),和同學(xué)們相互探討,相互學(xué)習(xí),相互監(jiān)督。學(xué)會(huì)了合作,學(xué)會(huì)了寬容,也學(xué)會(huì)了理解課程設(shè)計(jì)是我們專(zhuān)業(yè)課程知識(shí)綜合應(yīng)用的實(shí)踐訓(xùn)練,著是我們邁向社會(huì),從事職業(yè)工作前一個(gè)必不少的過(guò)程我今天認(rèn)真的進(jìn)行課程設(shè)計(jì),學(xué)會(huì)腳踏實(shí)地邁開(kāi)這一步,就是為明天能穩(wěn)健地在社會(huì)大潮中奔跑打下堅(jiān)實(shí)的基礎(chǔ)通過(guò)這次課程設(shè)計(jì),本人在多方面都有所提高生獨(dú)立工作能力,在這次設(shè)計(jì)過(guò)程中,體會(huì)了學(xué)以致用、突出自己勞動(dòng)成果的喜悅心情,從中發(fā)現(xiàn)自己平時(shí)學(xué)習(xí)的不足和薄弱環(huán)節(jié),從而加以彌補(bǔ)。在此感謝我們的老師.,老師嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;老師循循善誘的教導(dǎo)和不拘一
6、格的思路給予我無(wú)盡的啟迪;同時(shí)感謝對(duì)我?guī)椭^(guò)的同學(xué)們,謝謝你們對(duì)我的幫助和支持,讓我感受到同學(xué)的友誼。 由于本人的設(shè)計(jì)能力有限,在設(shè)計(jì)過(guò)程中難免出現(xiàn)錯(cuò)誤,懇請(qǐng)老師們多多指教5 參考文獻(xiàn)網(wǎng)站驗(yàn)證碼的設(shè)計(jì)與實(shí)現(xiàn)開(kāi)發(fā)案例6 (附錄)代碼附錄6.1 網(wǎng)站驗(yàn)證碼的生成 <% WebHandler Language="C#" Class="ValidateImage" %>using System;using System.Web;using System.IO;using System.Drawing;public class ValidateImag
7、e : IHttpHandler,public void ProcessRequest (HttpContext context) context.Response.Cache.SetCacheability(HttpCacheability.NoCache);string valid = "" / 定義隨機(jī)數(shù)字/生成包含驗(yàn)證碼的圖片MemoryStream ms = Create(out valid);/ 存儲(chǔ)在session中的驗(yàn)證碼,用于驗(yàn)證context.Session"validateImage" = valid;/置空輸出流 context.
8、Response.ClearContent();/輸出流格式context.Response.ContentType = "image/png"/輸出context.Response.BinaryWrite(ms.ToArray();context.Response.End(); public bool IsReusable get return false;/用來(lái)產(chǎn)生2位數(shù)的隨機(jī)數(shù)分配的方法private string RndNum(int VcodeNum)string Vchar = "1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,
9、j,k,m,n,p,q" +",r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z"/ 拆分到數(shù)組中string VcArray = Vchar.Split(new Char ',' );/ 收集隨機(jī)數(shù)string VNum = ""/ 記錄最后隨機(jī)值,盡量避免同一隨機(jī)數(shù)int temp = -1;Random rand = new Random();/ 通過(guò)一個(gè)簡(jiǎn)單的算法,以確保不同的隨機(jī)編號(hào)for (int i = 1; i < Vcode
10、Num + 1; i+)if (temp != -1)rand = new Random(i * temp * unchecked(int)DateTime.Now.Ticks);int t = rand.Next(55);if (temp != -1 && temp = t)return RndNum(VcodeNum);/如果獲得隨機(jī)數(shù)重復(fù),然后遞歸調(diào)用temp = t;/隨機(jī)數(shù)中位數(shù)加一VNum += VcArrayt;return VNum;/ 生成隨機(jī)數(shù),并將其寫(xiě)入圖像文件public MemoryStream Create(out string VNum)VNum
11、= RndNum(3);Bitmap Img = null;Graphics g = null;MemoryStream ms = null;System.Random random = new Random();Color c = Color.Black, Color.Red, Color.DarkBlue, Color.Green,Color.Brown, Color.DarkCyan, Color.Purple;string fonts = "Verdana", "Microsoft Sans Serif", "Comic Sans MS
12、", "Arial", "宋體" ;Img = new Bitmap(int)VNum.Length * 18, 32);g = Graphics.FromImage(Img);g.Clear(Color.White);/ 在背景的隨機(jī)位置畫(huà)圖for (int i = 0; i < 100; i+)int x = random.Next(Img.Width);int y = random.Next(Img.Height);g.DrawRectangle(new Pen(Color.LightGray, 0), x, y, 1, 1);/
13、在g中映射驗(yàn)證碼for (int i = 0; i < VNum.Length; i+)int cindex = random.Next(6);int findex = random.Next(5);/ 格式Font f = new System.Drawing.Font(fontsfindex, 15, System.Drawing.FontStyle.Regular);Brush b = new System.Drawing.SolidBrush(ccindex);int ii = 4;if (i + 1) % 2 = 0) / 控制不同驗(yàn)證碼字符在垂直方向上的位置ii = 2;g.
14、DrawString(VNum.Substring(i, 1), f, b, 3 + (i * 12), ii);ms = new MemoryStream();Img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);g.Dispose();Img.Dispose();return ms;6.2 驗(yàn)證碼的驗(yàn)證查看輸入的驗(yàn)證碼與電腦是否匹配protected void Button1_Click(object sender, EventArgs e) if (TextBox3.Text = Session"validateImage".ToS
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025公司項(xiàng)目負(fù)責(zé)人安全培訓(xùn)考試試題(真題匯編)
- 2025年項(xiàng)目安全培訓(xùn)考試試題附完整答案(網(wǎng)校專(zhuān)用)
- 2024-2025公司項(xiàng)目負(fù)責(zé)人安全培訓(xùn)考試試題及完整答案【一套】
- 2024-2025車(chē)間員工安全培訓(xùn)考試試題附參考答案【綜合卷】
- 2025年崗位安全培訓(xùn)考試試題及完整答案(奪冠系列)
- 2024-2025車(chē)間安全培訓(xùn)考試試題附參考答案(基礎(chǔ)題)
- 2024-2025項(xiàng)目安全培訓(xùn)考試試題(往年題考)
- 2025廠級(jí)職工安全培訓(xùn)考試試題含答案【輕巧奪冠】
- 2025-2030年中國(guó)PCB壓合板行業(yè)風(fēng)險(xiǎn)評(píng)估及投資前景趨勢(shì)預(yù)測(cè)研究報(bào)告
- 許昌電氣職業(yè)學(xué)院《化學(xué)學(xué)科前沿專(zhuān)題講座》2023-2024學(xué)年第二學(xué)期期末試卷
- 專(zhuān)業(yè)工程分包業(yè)主審批表
- 藥劑科終止妊娠藥品管理制度
- 除草劑分類(lèi)和使用方法
- 合同制消防員績(jī)效考核細(xì)則詳解
- 中遠(yuǎn)集團(tuán)養(yǎng)老保險(xiǎn)工作管理程序
- 留守兒童幫扶記錄表
- 變電站第二種工作票
- 煤礦機(jī)電運(yùn)輸專(zhuān)業(yè)質(zhì)量標(biāo)準(zhǔn)化管理制度
- 機(jī)電一體化專(zhuān)業(yè)畢業(yè)論文43973
- 基于PLC的變頻中央空調(diào)溫度控制系統(tǒng)的畢業(yè)設(shè)計(jì)
- 第三部分110kv模塊第34章1b1y1
評(píng)論
0/150
提交評(píng)論