標籤:style blog http io color ar 使用 sp java
CaptchaMvc 是一個有彈性的、簡單的解決方案,它能夠解決你項目中所有與驗證碼相關的問題。你需要做的所有事情就是向你的項目中添加一個類庫,添加之後驗證碼就準備就緒了。該項目擁有使用驗證碼所需要的所有內容:
- 有兩種類型的驗證碼,普通的和數學的
- 支援在 session 或者 cookie 中儲存驗證碼
- 支援“智能驗證碼”
- 能夠很容易地擴充預設實現
CaptchaMvc 項目也在不斷地演變,我會盡量支援所有人提出的需求。我認為這些就是區分它和其他項目的主要內容。CaptchaMvc 項目支援 ASP.NET MVC 3、4和5,這些版本之間幾乎沒有什麼不同,僅僅是類庫中使用了 MVC 4中添加的 AllowAnonymousAttribute 屬性。
這個項目的智能驗證碼是特色:
智能驗證碼讓驗證碼對使用者更加友好,在最好的情況下使用者永遠不會看到驗證碼。有多種技術能夠讓驗證碼更加友好。例如,有一種技術稱為“假輸入欄位”。CaptchaMvc支援多種技術能夠區分使用者和機器人。讓我簡短的介紹一下每一種技術:
- 假的輸入(類名—FakeInputIntelligencePolicy)——使用一個“假的”輸入欄位,正如我前面所寫的。
- JavaScript(類名—JavaScriptIntelligencePolicy)——嘗試著去檢查使用者是否啟用了 JavaScript ,如果使用者禁用了JavaScript那麼使用者必須輸入一個驗證碼
- 回應時間(類名—ResponseTimeIntelligencePolicy)——允許你設定一個時間,在該時間內驗證碼將被認為無效。假如一個機器人請求一個表單,填充它並提交…頁面載入和提交之前的間隔時間可能會少於一秒——沒有人能夠做到這一點。
- 多種方式的組合(類名—MultiIntelligencePolicy)——允許你將不同的策略聯合到一起。
設定“智能驗證碼”的程式碼範例,下面是一個作者的網站上使用的程式碼範例:
1 CaptchaUtils.CaptchaManager.IntelligencePolicy = new 2 MultiIntelligencePolicy(3 new FakeInputIntelligencePolicy(),4 new JavaScriptIntelligencePolicy(),5 new ResponseTimeIntelligencePolicy(TimeSpan.FromSeconds(3)));
[轉] 驗證碼類庫 CaptchaMvc