web-dev-qa-db-ja.com

asp.netmvcでキャプチャを使用する方法

誰かがasp.netmvcでキャプチャを使用する方法を教えてもらえますか?そのためのコントロールをダウンロードする必要はありますか?

21
mary

2セントを入れるのに遅すぎないことを願っています...

紹介MvcReCaptcha

最初の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();
  }
}

幸運を!

35
Maxim Zaslavsky

独自の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によって選択されたオプションです!)

2
Fenton