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