ا با یکی دیگر از اموزشهای mvc در خدمتتون هستم دوستان سلام حالتون خوبه ؟ سرشار از انرژی مثبت هستین ؟ خوب امیدورام که  خوب وخوش با این مقاله که در مورد چگونگی استفاده از ReCaptcha  است همراه ما باشید این امکان برای جلوگیری از اجرای فعالیت هایی در وب سایت ASP.NET Web Pages توسط برنامه های خودکار  است که در ادامه توضیح می داده میشود.لطفا خوب توجه نمایید..

آنچه فرا خواهید گرفت:

·         چگونگی افزودن تست CAPTCHA به سایت خود.

اینها ویژگی های ASP.NET می باشند که در مقاله معرفی می شوند:

·         کمک کننده ی ReCaptcha.

نکته: اطلاعات این مقاله در ASP.NET Web Pages 1.0 و Web Pages 2 به کار گرفته می شوند.

در مورد CAPTCHA ها:

هر زمانی که به افراد اجازه ی ورود به سایت خود را بدهید و یا حتی فقط یک نام و URL وارد کنید ( مانند یک کامنت وبلاگ)، ممکن است مجموعه ای از نام های جعلی دریافت کنید. این نام ها اغلب به وسیله ی برنامه های خودکار (bots) رها شده اند که سعی دارند URL ها را در هر وب سایتی که پیدا می کنند، رها کنند ( یک انگیزه ی مشترک ارسال URLهای محصولات برای فروش می باشد.)

شما با استفاده از CAPTCHA برای ارزیابی یوزرها استفاده کنید، هنگامی که ثبت نام می کنند و یا اینکه نام و سایت خود را وارد می کند، می توانید اطمینان حاصل کنید که یک یوزر یک فرد حقیقی است و نه یک برنامه ی کامپیوتری. CAPTCHA مخفف تست Completely Automated Public Turing می باشد تا کامپیوترها و انسان ها را مجزا کند. یک CAPTCHA یک تست challenge-response  می باشد که در آن از یوزر خواسته می شود تا کاری را انجام دهد که انجام آن برای یک فرد آسان است، اما برای یک برنامه ی خودکار سخت می باشد. متداول ترین نوع CAPTCHA گونه ای می باشد که در آن تعدادی حروف کج مشاهده می کنید و از شما خواسته می شود آنها را تایپ کنید. (کج بودن حروف به این دلیل است که فرض می شود کج بودن حروف مانع تشخیص آنها توسط Bot ها می شود.).

افزودن تست ReCaptcha:

در صفحات ASP.NET می توانید از کمک کننده ی ReCaptcha برای اجرای تست CAPTCHA استفاده کنید که براساس سرویس ReCaptcha می باشد. (http://recaptcha.net). کمک کننده ی ReCaptcha تصویری از دو لغت کج شده را نمایش می دهد که قبل از ارزیابی صفحه، یوزرها باید آنها را به درستی وارد کنند. پاسخ یوزر توسط سرویس ReCaptcha.Net ارزیابی می شود.

۱٫      وب سایت خود را در ReCaptcha.Net (http://recaptcha.net) ثبت کنید. وقتی که ثبت را کامل کردید، یک کلید عمومی و یک کلید خصوصی دریافت می کنید.

۲٫      همانطور که در  توضیح داده شد، به وب سایت خود ASP.NET Web Helpers Library اضافه کنید، اگر چنین کمک کننده ای ندارید.

۳٫      اگر فایل _AppStart.cshtml  ندارید، در فولدر روت از یک وب سایت، فایلی به نام _AppStart.cshtml  ایجاد کنید.

۴٫      تنظیمات کمک کننده ی Recaptcha را در فایل _AppStart.cshtml  اضافه کنید.

@using Microsoft.Web.Helpers;‎

@{‎

‎  // Add the PublicKey and PrivateKey strings with your public

‎  // and private keys. Obtain your PublicKey and PrivateKey

‎  // at the ReCaptcha.Net (http://recaptcha.net) website.‎

‎  ReCaptcha.PublicKey = “your-public-key”;‎

‎  ReCaptcha.PrivateKey = “your-private-key”;‎

‎}‎

۵٫      با استفاده از کلیدهای عمومی و خصوصی خود، پراپرتی های PublicKey  و PrivateKey را تنظیم کنید.

۶٫      فایل _AppStart.cshtml  را ذخیره کرده و آن را ببندید.

۷٫      در فولدر روت از یک وب سایت، صفحه ی جدیدی به نام Recaptcha.cshtml ایجاد کنید.

۸٫      محتوای زیر را جایگزین محتوای موجود کنید.

@using Microsoft.Web.Helpers;‎

@{‎

‎  var showRecaptcha = true;‎

‎  if (IsPost) {‎

‎    if (ReCaptcha.Validate()) {‎

‎        @:Your response passed!‎

‎        showRecaptcha = false;‎

‎    }‎

‎    else{‎

‎      @:Your response didn’t pass!‎

‎    }‎

‎  }‎

‎}‎

‎<!DOCTYPE html>

<html>

‎‎<head>

‎   ‎

<title>Testing Global Recaptcha Keys</title>‎

‎</head>‎

‎<body>

‎    <form action=”” method=”post”>

‎    @if(showRecaptcha == true){‎

‎        if(ReCaptcha.PrivateKey != “”){‎

‎            <p>@ReCaptcha.GetHtml()</p>‎

‎            <input type=”submit” value=”Submit” />‎

‎        }‎

‎        else {‎

‎            <p>

You can get your public and private keys at

‎            the ReCaptcha.Net website (http://recaptcha.net).‎

‎            Then add the keys to the _AppStart.cshtml file.

</p>‎

‎        }‎

‎    }‎

</form>‎

‎</body>‎

‎</html>‎

۹٫      صفحه ی Recaptcha.cshtml  را در یک مرورگر اجرا کنید، اگر مقدار PrivateKey معتبر باشد، صفحه کنترل ReCaptcha و یک دکمه را نمایش می دهد. اگر کلیدها را در _AppStart.html تنظیم نکرده باشید، صفحه یک پیغام خطا ارائه می دهد.

۱۰٫  لغات مربوط به تست را وارد کنید. اگر تست ReCaptcha  را رد کردید، یک پیغام مربوط به تاثیر آن مشاهده می کنید. در غیر اینصورت یک پیغام خطا مشاهده می کنید و کنترل ReCaptcha دوباره نمایش داده می شود.

نکته: اگر کامپیوتر شنا در محدوده ای است که از سرور پروکسی استفاده می کند، ممکن است نیاز داشته باشید عنصر defaultproxy از فایل Web.config  را تنظیم کنید. مثال زیر فایل Web.config  را در عنصر defaultproxy  نشان می دهد که برای فعالسازی سرویس ReCaptcha  تنظیم شده است.

‎<?xml version=”1.0″ encoding=”utf-8″ ?>

‎<configuration>

‎    ‎  <system.net>

‎        ‎      <defaultproxy>

‎            ‎         <proxy‎ ‎=‎ usesystemdefault=”false” ‎=‎

‎=‎ proxyaddress=”http://myProxy.MyDomain.com” ‎=‎

‎=‎ bypassonlocal=”true” ‎=‎

‎=‎ autodetect=”False” ‎=‎

‎=‎ />‎

‎        </defaultproxy>‎

‎    </system.net>‎

‎</configuration>‎