用於ASP.NET MVC 3的MvcCaptcha

摘要:用於ASP.NET MVC 3的MvcCaptcha

 

 

 

 

最近有一個需求, 要提供一個CAPTCHA驗證, 避免有心人士大量註冊, 有看到保哥所介紹的reCAPTCHA, 不過感覺圖片太複雜, 怕降低使用者意願, 就決定再找看看有沒有其他的方式, 找了很多個, 大部份都不是給ASP.NET MVC 3使用(還是我太弱...?), 最後找到MvcCaptcha, 就決定用這個了.

 

 .檔案名稱:McvCaptcha 2.0.2.0

 .官方網站:http://www.smartsoftwarebits.com/mvccaptcha

 .授權方式:免費軟體

 .最後更新:2011/8/30 下午05:34:10

 

該元件也能在ASP.NET MVC 2使用, 我使用的是ASP.NET MVC 3 + Razor + C#, 首先至此處下載元件 Download McvCaptcha 2.0.2.0 now, 解壓縮後會有MVC2, MVC3的資料夾, 我使用的是MVC3, 資料夾內有以下檔案.

 

新增一個ASP.NET MVC 3專案, 使用Razor視圖引擎.

 

將MvcCaptchaExtensionMVC3.dll加入參考.

 

開啟MvcCaptchaExtensionMVC3.dll.config, 裡頭有所需的相關設定, 大部份的設定都淺顯易懂, 僅介紹特定幾個設定.

 .MvcCaptchaValidChars: 用來驗證的字元, 僅會出現這裡所設定的.

 .MvcCaptchaReplayProtectionMode: 可設定成cache及session. (詳細介紹)

 .MvcCaptchaPassword: 設定加密MvcCaptcha的文字, 一定要設定.

 

打開專案底下的Web.config, 將MvcCaptchaExtensionMVC3.dll.config中的<configSections> 到 </startup>區段複製, 貼上到Web.config的<connectionStrings>之下, 儲存檔案.

2012/12/21 修正--感謝Jeter

打開專案底下的Web.config, 將MvcCaptchaExtensionMVC3.dll.config中的<configSections> 到 </startup>區段複製, 貼上到Web.config的<configuration>之下, 成為<configuration>的第一個子集,儲存檔案.

 

建立Captcha Model, 為了驗證使用, 要加入SSB.Web.Mvc NameSpace, 才能使用ValidateMvcCaptcha, 顯示驗證錯誤的提示訊息.

 

先在HomeController加入CAPTCHA.Models NameSpace, 再新增下列程式碼, 當驗證出無效的模型繫結, 則return View, 驗證成功則導到Success.

 

在View中則這樣設定, 使用Captcha Model, 加入SSB.Web.Mvc.Html NameSpace, 要顯示驗證圖片, 只需@Html.MvcCaptcha()及可

 

沒輸入驗證碼就送出

 

驗證碼輸入錯誤

 

驗證成功則會導到Success頁

 


 

沒想到寫篇文章會寫這麼久...真是不簡單,

不知道是因為第一次寫嗎? 花了超多時間,

看來還要多多學習, 在程式或者是文章編排上,

都還需要大量的學習...希望能越來越順利.


 


 

 


 

以上內容為個人一點見解, 請路過此地的前輩,

若文章內容有誤, 或者有不同的看法,

請盡量提出告訴我, 謝謝.