• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      生成ASP.NET網(wǎng)站驗(yàn)證碼教學(xué)案例探討

      2019-01-06 02:09謝彬彬
      關(guān)鍵詞:調(diào)用網(wǎng)頁繪制

      謝彬彬

      [摘? ? ? ? ? ?要]? ASP.NET動態(tài)網(wǎng)站開發(fā)是一門綜合性很強(qiáng)的實(shí)踐課程,其中圖片驗(yàn)證碼技術(shù)是該課程的重難點(diǎn)之一。針對中職學(xué)校學(xué)生的學(xué)習(xí)基礎(chǔ)相對較為薄弱,通過任務(wù)驅(qū)動,使學(xué)生逐步深入,掌握如何調(diào)用預(yù)定義類生成驗(yàn)證碼并在網(wǎng)頁中插入生成的驗(yàn)證碼圖片。從而降低學(xué)習(xí)難度,為中職學(xué)校Asp.net動態(tài)網(wǎng)站開發(fā)的教學(xué)提供一種思路。

      [關(guān)? ? 鍵? ?詞]? ASP.NET;驗(yàn)證碼;教學(xué)案例;任務(wù)驅(qū)動

      [中圖分類號]? G712? ? ? ? ? ? ? ?[文獻(xiàn)標(biāo)志碼]? A? ? ? ? ? ? ? ? ? ? ? [文章編號]? 2096-0603(2019)28-0099-03

      ASP.NET動態(tài)網(wǎng)站開發(fā)課程是我校軟件與信息服務(wù)專業(yè)的職業(yè)能力核心課程,該課程是對學(xué)生之前學(xué)習(xí)的C#程序設(shè)計、數(shù)據(jù)庫設(shè)計基礎(chǔ)、網(wǎng)頁設(shè)計等課程的綜合應(yīng)用,是一門綜合性、實(shí)踐性和難度都較高的課程。該課程主要包含的內(nèi)容有服務(wù)器控件、內(nèi)置服務(wù)器對象的使用、ADO.NET操作數(shù)據(jù)庫等技術(shù)。

      圖片驗(yàn)證碼是一串為了防止惡意程序進(jìn)行暴力破解密碼等關(guān)鍵信息,由服務(wù)器端按一定算法生成的數(shù)字或字符,并將該驗(yàn)證碼生成一幅圖片,再對圖片進(jìn)行干擾處理[1]。驗(yàn)證碼是動態(tài)網(wǎng)站開發(fā)中廣泛使用且非常重要的一種安全技術(shù),因此也是本課程的重點(diǎn)與難點(diǎn)之一。

      本文的教學(xué)案例針對中職學(xué)生的學(xué)習(xí)基礎(chǔ)相對較為薄弱,通過任務(wù)驅(qū)動設(shè)置了三個課堂任務(wù),使學(xué)生逐步深入,掌握如何調(diào)用預(yù)定義類生成驗(yàn)證碼并在網(wǎng)頁中插入生成的驗(yàn)證碼圖片,從而降低了學(xué)習(xí)難度,為中職ASP.NET動態(tài)網(wǎng)站開發(fā)的教學(xué)提供了一種思路。

      一、教學(xué)案例設(shè)計思想

      在教學(xué)案例的設(shè)計上,以“任務(wù)驅(qū)動式”、學(xué)生自主協(xié)作探究學(xué)習(xí)來進(jìn)行設(shè)計。

      1.教學(xué)過程逐漸深入,結(jié)合中職學(xué)生的實(shí)際情況,讓學(xué)生在實(shí)踐中掌握所學(xué)知識的同時,通過小組討論問題,培養(yǎng)學(xué)生獨(dú)立分析問題、解決問題的能力。

      2.由教師根據(jù)學(xué)習(xí)任務(wù)先進(jìn)行講解與引導(dǎo)教學(xué),通過任務(wù)驅(qū)動,讓學(xué)生分組進(jìn)行程序開發(fā),通過學(xué)生自主協(xié)作探究體會影響驗(yàn)證碼被破解的因素,同時認(rèn)識到在實(shí)際開發(fā)中需要考慮安全與用戶體驗(yàn)相結(jié)合[2]。

      3.根據(jù)中職學(xué)生的學(xué)習(xí)基礎(chǔ),提供常見的驗(yàn)證碼核心類代碼,體會調(diào)用代碼生成驗(yàn)證碼的過程,避免直接開發(fā)驗(yàn)證碼,從而降低學(xué)習(xí)的難度。

      4.學(xué)生評價上,通過網(wǎng)頁實(shí)時顯示學(xué)生生成的驗(yàn)證碼圖片,采用直觀方式來顯示程序的執(zhí)行效果,能夠及時評估學(xué)生完成的情況,使師生得到及時反饋。

      二、教學(xué)重點(diǎn)與難點(diǎn)

      本案例中的教學(xué)重點(diǎn)是讓學(xué)生掌握如何調(diào)用驗(yàn)證碼核心類生成驗(yàn)證碼。

      教學(xué)的難點(diǎn)是:

      1.理解生成驗(yàn)證碼的底層代碼原理。由于中職學(xué)生的基礎(chǔ)相對薄弱,生成驗(yàn)證碼的底層代碼中涉及GDI、圖片文件操作等,而學(xué)生只有理解其基本原理才能正確使用。

      2.如何將生成的驗(yàn)證碼應(yīng)用到實(shí)際網(wǎng)頁開發(fā)中。僅僅調(diào)用底層代碼生成驗(yàn)證碼圖片并不等于整個頁面就開發(fā)好了,還需要結(jié)合具體實(shí)例讓學(xué)生掌握完整的頁面開發(fā)以及其中需要考慮的問題。

      三、生成驗(yàn)證碼的核心類介紹

      在提供給學(xué)生的生成驗(yàn)證碼VerificationCode類中包含的核心方法:CreateVerificationGraphic(string verificationCode,HttpContext context,int lineCount=25,int pointCount=100)[3]。該方法將生成的包含隨機(jī)數(shù)字的字符串輸出為圖片[4]。參數(shù)VerificationCode是調(diào)用CreateVerificationCode(int length)方法生成的包含隨機(jī)數(shù)字的字符串。參數(shù)context是用戶通過瀏覽器請求數(shù)據(jù)時發(fā)送的請求報文。參數(shù)lineCount是繪制干擾線的數(shù)量,默認(rèn)是25條。參數(shù)pointCount是繪制干擾點(diǎn)的數(shù)量,默認(rèn)是100個。執(zhí)行該方法時,除了將生成的包含隨機(jī)數(shù)字的字符串輸出為圖片外,為了降低驗(yàn)證碼圖片被惡意程序識別的幾率,還需在驗(yàn)證碼圖片上繪制若干隨機(jī)位置的干擾線、干擾點(diǎn),參考關(guān)鍵代碼片段如圖1所示。

      四、具體教學(xué)案例設(shè)計

      (一)案例描述

      在進(jìn)行驗(yàn)證碼開發(fā)的教學(xué)中,由于學(xué)生首次接觸,且中職學(xué)生的專業(yè)基礎(chǔ)相對薄弱,故要求學(xué)生直接開發(fā)驗(yàn)證碼的難度較大。而且驗(yàn)證碼開發(fā)的技術(shù)本身是屬于比較常見的一種技術(shù),因此在本案例中將會提供生成驗(yàn)證碼的底層代碼給學(xué)生,學(xué)生重點(diǎn)掌握如何調(diào)用、使用現(xiàn)有的驗(yàn)證碼核心類生成驗(yàn)證碼并應(yīng)用到網(wǎng)頁上。

      (二)任務(wù)劃分

      本案例將教學(xué)內(nèi)容分解為三個學(xué)習(xí)任務(wù),讓學(xué)生由淺入深掌握生成驗(yàn)證碼的開發(fā)。

      1.任務(wù)1:調(diào)用驗(yàn)證碼核心類生成驗(yàn)證碼圖片

      由生活中常見的驗(yàn)證碼圖片引入本課題,教師講解驗(yàn)證碼的基本原理以及生成驗(yàn)證碼VerificationCode類中的核心方法,為了使學(xué)生更好地掌握生成驗(yàn)證碼的基本原理,使用ASP.NET自帶的Random類產(chǎn)生四位數(shù)的隨機(jī)數(shù),引導(dǎo)學(xué)生根據(jù)微課自主學(xué)習(xí),將教師提供的VerificationCode類加入項(xiàng)目中,新建一個ASP.NET一般處理程序,嘗試調(diào)用VerificationCode類中的核心方法生成驗(yàn)證碼圖片。右圖是參考代碼。

      在對學(xué)生完成本學(xué)習(xí)任務(wù)的評價上,要求學(xué)生將生成的驗(yàn)證碼圖片保存并提交到FTP的指定路徑下,由教師端制作的網(wǎng)頁實(shí)時讀取并顯示學(xué)生生成的驗(yàn)證碼圖片,如圖2所示。教師可以結(jié)合學(xué)生完成的情況進(jìn)行評價、講解,學(xué)生的學(xué)習(xí)結(jié)果也可以馬上得到及時的反饋。

      課堂討論環(huán)節(jié):學(xué)生完成上述學(xué)習(xí)任務(wù)后,引導(dǎo)學(xué)生思考:使用ASP.NET自帶的Random類產(chǎn)生隨機(jī)數(shù)驗(yàn)證碼有什么局限性?影響驗(yàn)證碼被破解的因素有哪些?

      2.任務(wù)2:探究影響驗(yàn)證碼被破解的因素

      提前將學(xué)生分成若干組使用不同的參數(shù)調(diào)用CreateVerificationGraphic方法生成驗(yàn)證碼,每組參數(shù)生成3張驗(yàn)證碼,通過微信掃一掃翻譯的方式“破解”驗(yàn)證碼,分別記錄下人眼識別、微信翻譯識別的驗(yàn)證碼,最后通過探究嘗試寫出自己認(rèn)為最合適的參數(shù),以直觀的方式探究影響驗(yàn)證碼被破解的因素。

      第一組參數(shù):即任務(wù)1中使用默認(rèn)參數(shù)生成的驗(yàn)證碼圖片,繪制干擾線的數(shù)量為25,繪制干擾點(diǎn)的數(shù)量為100,如圖3所示。

      第二組參數(shù):繪制干擾線的數(shù)量為0,繪制干擾點(diǎn)的數(shù)量為0,即沒有干擾線、干擾點(diǎn),如圖4所示。

      第三組參數(shù):繪制干擾線的數(shù)量為50,繪制干擾點(diǎn)的數(shù)量為200,如圖5所示。

      第四組參數(shù):繪制干擾線的數(shù)量為100,繪制干擾點(diǎn)的數(shù)量為400,如圖6所示。

      通過完成這項(xiàng)任務(wù),加深學(xué)生對如何調(diào)用生成驗(yàn)證碼底層代碼的理解,體會從哪些角度去提高驗(yàn)證碼的安全性,了解驗(yàn)證碼的生成需要根據(jù)實(shí)際情況兼顧安全性與用戶體驗(yàn)。

      課堂討論環(huán)節(jié):學(xué)生完成上述學(xué)習(xí)任務(wù)后,引導(dǎo)學(xué)生思考:如何將驗(yàn)證碼圖片加入網(wǎng)頁中?

      3.任務(wù)3:將驗(yàn)證碼圖片加入網(wǎng)頁中

      通過完成前面兩個任務(wù),學(xué)生掌握了通過調(diào)用預(yù)定義類生成驗(yàn)證碼。接著,由教師提供一個登錄頁面的素材,引導(dǎo)學(xué)生將前端頁面整合進(jìn)項(xiàng)目中。在前端頁面中,將驗(yàn)證碼位置處的Image控件的ImageUrl設(shè)置為上述的一般處理程序即可,效果如圖7所示。通過完成這個任務(wù),使學(xué)生掌握如何將驗(yàn)證碼圖片插入到網(wǎng)頁當(dāng)中。

      擴(kuò)展任務(wù):在驗(yàn)證碼旁邊添加“看不清?換一張”的鏈接,實(shí)現(xiàn)點(diǎn)擊鏈接在不刷新頁面的情況下重新加載驗(yàn)證碼。結(jié)合實(shí)際中常見的功能,通過擴(kuò)展任務(wù)引導(dǎo)學(xué)有余力的學(xué)生進(jìn)一步思考延伸開發(fā)有實(shí)際應(yīng)用意義的切換驗(yàn)證碼圖片功能。

      通過完成上述三個任務(wù),學(xué)生基本掌握了如何調(diào)用預(yù)定義類生成驗(yàn)證碼圖片,通過自主探究了解到影響驗(yàn)證碼破解的因素,掌握了如何在網(wǎng)頁中插入生成的驗(yàn)證碼圖片。

      五、結(jié)束語

      本案例通過任務(wù)驅(qū)動設(shè)置了三個課堂任務(wù),使學(xué)生逐步深入,掌握如何調(diào)用預(yù)定義類生成驗(yàn)證碼并在網(wǎng)頁中插入生成的驗(yàn)證碼圖片。本案例為中職學(xué)校ASP.NET動態(tài)網(wǎng)站開發(fā)課程教學(xué)提供了一種思路,例如對于ADO.NET操作數(shù)據(jù)庫中SqlHelper類的使用,考慮到中職學(xué)生的基礎(chǔ),也可以結(jié)合一些案例讓學(xué)生從中學(xué)會如何調(diào)用已有封裝好的類來實(shí)現(xiàn)功能,從而降低學(xué)習(xí)難度,使學(xué)生更容易上手。

      參考文獻(xiàn):

      [1]韓玉民.驗(yàn)證碼技術(shù)研究及基于ASP.NET的實(shí)現(xiàn)[J].現(xiàn)代計算機(jī)(專業(yè)版),2009(8).

      [2]翁佩純,馬慧,張遠(yuǎn)海.以“任務(wù)驅(qū)動”的《面向?qū)ο蟪绦蛟O(shè)計》教學(xué)案例設(shè)計[J].現(xiàn)代計算機(jī)(專業(yè)版),2016(14):50-54.

      [3]panzemin1234.ASP.NET MVC實(shí)現(xiàn)網(wǎng)站驗(yàn)證碼功能[EB/OL].http://blog.sina.com.cn/s/blog_5738dc350100lxns.html,2010-10-27.

      [4]國家863中部軟件孵化器.ASP.NET從入門到精通[M].北京:人民郵電出版社,2015.

      ◎編輯 張 俐

      猜你喜歡
      調(diào)用網(wǎng)頁繪制
      Painting ski maps 繪制滑雪地圖
      繪制童話
      繪制世界地圖
      基于HTML5靜態(tài)網(wǎng)頁設(shè)計
      搜索引擎怎樣對網(wǎng)頁排序
      基于Android Broadcast的短信安全監(jiān)聽系統(tǒng)的設(shè)計和實(shí)現(xiàn)
      神秘的不速之客
      利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
      網(wǎng)頁智能搜索數(shù)據(jù)挖掘的主要任務(wù)
      C++語言中函數(shù)參數(shù)傳遞方式剖析
      柳林县| 庄浪县| 嘉鱼县| 开原市| 万全县| 株洲市| 阿瓦提县| 宁夏| 商洛市| 太保市| 盘山县| 阜阳市| 乡宁县| 略阳县| 武陟县| 承德市| 灵丘县| 龙游县| 凤翔县| 蕲春县| 武乡县| 新泰市| 许昌市| 泊头市| 浏阳市| 奇台县| 崇阳县| 甘德县| 宝坻区| 宁波市| 娄底市| 禄丰县| 大石桥市| 盱眙县| 鲜城| 克什克腾旗| 武穴市| 玛曲县| 鹿邑县| 景宁| 亳州市|