مجتمع فنی و آموزشی پارسی ماد

مرکـز تخصصی مهارت آمـوزی در استان قـم

ساعت کار آموزشگاه: شنبه تا پنجشنبه 8 صبح تا 10 شب

آموزش CAPTCHA در ASP.NET mvc

1932 بازدید تاریخ انتشار: 28 آذر 1398 دسته بندی ها:فناوری اطلاعات

آموزش CAPTCHA در ASP.NET 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 ارزیابی می شود.

 

  1. وب سایت خود را در ReCaptcha.Nethttp://recaptcha.net http://recaptcha.net ثبت کنید. وقتی که ثبت را کامل کردید، یک کلید عمومی و یک کلید خصوصی دریافت می کنید.
  2. همانطور که در توضیح داده شد، به وب سایت خود ASP.NET Web Helpers Library اضافه کنید، اگر چنین کمک کننده ای ندارید.
  3. اگر فایل _AppStart.cshtml ندارید، در فولدر روت از یک وب سایت، فایلی به نام _AppStart.cshtml ایجاد کنید.
  4. تنظیمات کمک کننده ی Recaptcha را در فایل _AppStart.cshtml اضافه کنید.

1
2
3
4
5
6
7
8
@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";‎
‎}

 

  1. با استفاده از کلیدهای عمومی و خصوصی خود، پراپرتی های PublicKey و PrivateKey را تنظیم کنید.
  2. فایل _AppStart.cshtml را ذخیره کرده و آن را ببندید.
  3. در فولدر روت از یک وب سایت، صفحه ی جدیدی به نام Recaptcha.cshtml ایجاد کنید.
  4. محتوای زیر را جایگزین محتوای موجود کنید.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
@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>

 

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

نکته:

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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
< ?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>‎

در زمینه کامپیوتر پاسخگوی شما هستیم
تمامی حقوق مادی و معنوی متعلق به آموزشگاه پارسی ماد می باشد (طراح و برنامه نویس: مهندس مهدی بیاتی)