誰かがasp.netmvcでキャプチャを使用する方法を教えてもらえますか?そのためのコントロールをダウンロードする必要はありますか?
2セントを入れるのに遅すぎないことを願っています...
最初のASP.NETMVCサイトでCAPTCHA検証を実装しようとしたときに、これとまったく同じ問題に直面しました。多くのライブラリを発見した後、私は最も単純で効率的なライブラリであると思われる(そして今でもそう思われる)ことを発見しました: MvcReCaptcha 。それ以来、私はすべてのASP.NETMVCサイトでこのライブラリを使用しています。
MvcReCaptchaを実装すると、ビューにCAPTCHAが安全に生成され、アクションの検証が成功したかどうかのブール値が提供されます。
プロジェクトからMvcReCaptcha DLL(MvcReCaptchaホームページからコピーされた手順))をダウンロードして参照した後、実装する方法は次のとおりです。
ASP.NET MVCでのReCaptchaの使用:
Asp.Net MVCWebサイトでReCaptchaをセットアップするのが非常に簡単になりました。
ReCaptchaへのサインアップ http://recaptcha.net/whyrecaptcha.html
使い方:
ステップ1:appsettingsセクションのweb.configファイルに公開鍵と秘密鍵を追加します
<appSettings> <add key="ReCaptchaPrivateKey" value=" -- PRIVATE_KEY -- " /> <add key="ReCaptchaPublicKey" value=" -- PUBLIC KEY -- " /> </appSettings>
ステップ2:web.configに新しい名前空間を追加します
<namespaces> <add namespace="MvcReCaptcha.Helpers"/> </namespaces>
ステップ3:ビューにロジックを実装して、実際にキャプチャコントロールをレンダリングします
<%= Html.GenerateCaptcha() %>
ステップ4:フォームの送信とキャプチャの検証を処理するコントローラーアクションを実装する
[CaptchaValidator] [AcceptVerbs( HttpVerbs.Post )] public ActionResult CreateComment( Int32 id, bool captchaValid ) { if (!captchaValid) { ModelState.AddModelError("_FORM", "You did not type the verification Word correctly. Please try again."); } else { // If we got this far, something failed, redisplay form return View(); } }
幸運を!
独自のCaptchaを作成したくない場合は(誰が作成しますか!)、次のようなCaptchaライブラリを使用できます。
http://www.coderjournal.com/2008/03/aspnet-mvc-captcha/
Captchaライブラリを使用して、プロジェクトにdllを追加し、Captcha APIを使用して、Captchaイメージと入力を表示および検証します。
キャプチャを表示する:
<label for="captcha">Enter <%= Html.CaptchaImage(50, 180) %> Below</label><br />
<%= Html.TextBox("captcha") %>
次に、Captcha属性をメソッドに追加してください。
[CaptchaValidation("captcha")]
Recaptchaは、Captchaに関しては1つのオプションにすぎません(実際、これはStack Overflowによって選択されたオプションです!)