زمان کنونی: ۱۰ فروردین ۱۴۰۳, ۱۰:۲۵ ق.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

آموزش ساخت کد Captcha در ASP.net

ارسال:
۳۰ تیر ۱۳۹۲, ۱۱:۲۱ ب.ظ (آخرین ویرایش در این ارسال: ۳۰ تیر ۱۳۹۲ ۱۱:۳۳ ب.ظ، توسط m@hboobe.)
آموزش ساخت کد Captcha در ASP.net
معرفی CAPTCHA
CAPTCHA مخفف Completely Automated Public Turing Test To Tell Computers And Humans Apart بوده و به معنی تصدیق این امر که داده دریافتی توسط یک انسان ایجاد شده است.

یک راه حل آسان و قابل فهم ، جهت ساخت تصاویر امنیتی و استفاده از این تکنیک وجود داره . باید تصویری بصورت داینامیک ایجاد کنیم که نشان دهنده متن اتفاقی باشد. کاربر با مشاهده این تصویر ، متن درون آن را وارد کرده و امکان ارسال فرم برای او فراهم می شود. در واقع تا زمانی که متن صحیح وارد نشود فرم ارسال نمی شود.

خب برای این کار ما باید یک صفحه ساده aspx ایجاد کنیم و در بخش code behind (فایل aspx.cs ) صفحه وارد میشیم و در Page_Load کد های زیر رو قرار میدیم.
باید این دو فضای نام رو فراخوانی کرد
using System.Drawing;
using System.Text;

کد:
//ایجاد شیء گرافیک و دیگر ملزومات
                   Bitmap objBMP = new System.Drawing.Bitmap(80, 25);
                   Graphics objGraphics = System.Drawing.Graphics.FromImage(objBMP);
                   objGraphics.Clear(Color.DarkBlue);
                   objGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
                     //تنظیم فونت نوشته روی عکس
                   Font objFont = new Font("Viner Hand ITC", 13, FontStyle.Bold);
                    //ساخت رشته تصادفی ۵ رقمی
                   string randomStr = "";
                   Random autoRand = new Random();
                   randomStr = Convert.ToString(autoRand.Next(12345,99999));
            
                   //اضافه کردن متن در جلسه
                   Session.Add("randomStr", randomStr);
            
                   //نوشتن متن
                   objGraphics.DrawString(randomStr, objFont, Brushes.White, 6, 3);
            
                   //تنظیم نوع عکس و برگرداندن آن به عنوان خروجی
                   Response.ContentType = "image/GIF";
                   objBMP.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Gif);
            
                   //آزاد کردن منابع
                   objFont.Dispose();
                   objGraphics.Dispose();
                   objBMP.Dispose();

الان ما یک page داریم که هر بار یک عدد تصادفی تولید میکنه Shy
کافیه برای استفاده اون از یک asp:Image استفاده کنیم و ImageUrl رو برابر اسم صفحه بگذاریم.

برای بررسی کردن اینکه این کد صحیح وارد شده یا نه در بخش کد دکمه تایید Captcha
کد:
if (TxtCaptcha.Text != "")
        {
            if ((string)Session["randomStr"] == TxtCaptcha.Text.Trim())
            {
                //Submit Form
                Label1.Text = "Captcha is Correct";
                

            }
            else
            {
                //Show Error - Please Enter Security Code that show in Image
                Label1.Text = "Captcha isn't Correct";
            }
        }
        else
        {
            
            Label1.Text = "Please Enter the Captcha!";
        }
من اینجا از یه lable برای نشون دادن پیغام استفاده کردم.Smile

امیدوارم بدردتون بخوره Smile


پتانسیل انسان آنقدر زیاد است که میتواند صد زندگی همزمان داشته باشد. ما میتوانیم بیاموزیم و در هرچیزی متخصص شویم.


درس و دانشگاه یعنی مانشت و دیگر هیچ
Big Grin
۲
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس‌گزاری شده توسط: sanar.m , A.Nouri , svk7 , crevice , kingxerxes
ارسال:
۳۰ تیر ۱۳۹۲, ۱۱:۳۲ ب.ظ
RE: آموزش ساخت کد Captcha در ASP.net
جهت تکمیل فرمایش دوستمون برای این امر می شه از کامپوننت های image verifier آماده هم استفاده کرد
متنتون برام جالب بود هیچ وقت به فکر این که خودم یه دونه ایجاد کنم نیفتاده بودم Big Grin و همیشه از کامپوننت آماده استفاده میکردم
ممنون
۱
۱
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس‌گزاری شده توسط: m@hboobe
ارسال:
۳۱ تیر ۱۳۹۲, ۰۶:۱۴ ق.ظ
RE: آموزش ساخت کد Captcha در ASP.net
(۳۰ تیر ۱۳۹۲ ۱۱:۲۱ ب.ظ)m@hboobe نوشته شده توسط:  معرفی CAPTCHA
CAPTCHA مخفف Completely Automated Public Turing Test To Tell Computers And Humans Apart بوده و به معنی تصدیق این امر که داده دریافتی توسط یک انسان ایجاد شده است.
...

از مطلب مفیدتون تشکر می کنم.

فقط یک نکته ای هم بنده به فرمایشات شما اضافه میکنم. تا جایی که بنده اطلاع دارم ، در حال حاضر برای تشخیص نوع کاربر، صرفا از متن و عدد تصادفی در قالب عکس استفاده نمی کنند. چون می توان با استفاده از نرم افزارهای OCR، عکس را براحتی اسکن و تبدیل به متن کرده و سپس استفاده های نادرست از آن کرد.
بر اساس اطلاعات بنده، برای اطمینان بیشتر، از عکس های از پیش تعیین شده ای که قبلا توسط نرم افزار OCR ، غیرقابل خواندن تشخیص داده شده استفاده می شود. و یا اگر از متن تصادفی استفاده کنند ، باید آنرا به گونه ای تغییر دهند که توسط نرم افزارهای OCR قابل خواندن نباشد.

یکی از سرویس های آماده برای این منظور، سرویس reCaptcha است که توسط گوگل ارائه می شود و می توان براحتی در ASP.Net (و نیز سایر زبان ها )از آن استفاده کرد. لینک زیر توضیحات لازم را ارائه کرده است.

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.
۱
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس‌گزاری شده توسط: svk7 , kingxerxes , m@hboobe
ارسال:
۳۱ تیر ۱۳۹۲, ۰۲:۳۱ ب.ظ
RE: آموزش ساخت کد Captcha در ASP.net
(۳۱ تیر ۱۳۹۲ ۰۶:۱۴ ق.ظ)A.Nouri نوشته شده توسط:  فقط یک نکته ای هم بنده به فرمایشات شما اضافه میکنم. تا جایی که بنده اطلاع دارم ، در حال حاضر برای تشخیص نوع کاربر، صرفا از متن و عدد تصادفی در قالب عکس استفاده نمی کنند. چون می توان با استفاده از نرم افزارهای OCR، عکس را براحتی اسکن و تبدیل به متن کرده و سپس استفاده های نادرست از آن کرد.
بر اساس اطلاعات بنده، برای اطمینان بیشتر، از عکس های از پیش تعیین شده ای که قبلا توسط نرم افزار OCR ، غیرقابل خواندن تشخیص داده شده استفاده می شود. و یا اگر از متن تصادفی استفاده کنند ، باید آنرا به گونه ای تغییر دهند که توسط نرم افزارهای OCR قابل خواندن نباشد.

درسته حق باشماست ولی من برای یه برنامه در حد کاربرد پورتال اداری خواستم توضیح بدم که میشه بجای کامپوننت و سرویسی که برخی سایتها ارایه میدن میشه میشه خودمون هم اینکارو در ASP.net انجام بدیم Shy
ممنونم از دوستان که نظراتشون رو دراین باره گفتن من در حوزه asp هنوز نو پام Smile


پتانسیل انسان آنقدر زیاد است که میتواند صد زندگی همزمان داشته باشد. ما میتوانیم بیاموزیم و در هرچیزی متخصص شویم.


درس و دانشگاه یعنی مانشت و دیگر هیچ
Big Grin
۰
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس‌گزاری شده توسط: A.Nouri , good-wishes


موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  آموزش زبان ترکی ( آذری ) Eternal ۱۴۶ ۵۹۶,۳۱۵ ۰۳ دى ۱۴۰۱ ۰۸:۱۸ ب.ظ
آخرین ارسال: yeni_iran_1290
  فیلم آموزش ساختمان داده negin_bt ۰ ۹۶۶ ۲۰ مهر ۱۴۰۱ ۰۷:۵۶ ب.ظ
آخرین ارسال: negin_bt
  آموزش نحوه گرفتن پرتره ای حرفه ای mortazangz ۰ ۱,۲۱۲ ۲۵ بهمن ۱۴۰۰ ۰۲:۱۹ ب.ظ
آخرین ارسال: mortazangz
  درخواست معرفی منبع برای دروس پایگاه داده پیشرفته، تجارت و آموزش الکترونیکی ehsannaq3 ۱۱ ۱۲,۹۲۶ ۱۰ مهر ۱۴۰۰ ۰۸:۵۳ ق.ظ
آخرین ارسال: pouya47
  سایت آموزش زبان H-Arshad ۳ ۳,۹۹۷ ۱۴ اردیبهشت ۱۴۰۰ ۱۱:۴۶ ب.ظ
آخرین ارسال: cyruskingsolomon
  آموزش زبان انگلیسی:اصطلاح حساب حساب کاکا برادر! cyruskingsolomon ۰ ۱,۹۷۶ ۱۴ اردیبهشت ۱۴۰۰ ۱۲:۴۵ ق.ظ
آخرین ارسال: cyruskingsolomon
  آموزش مکالمه زبان انگلیسی برای مبتدی ها + مکالمه وحشتناک واقعی cyruskingsolomon ۰ ۱,۶۶۸ ۲۸ فروردین ۱۴۰۰ ۰۲:۵۸ ب.ظ
آخرین ارسال: cyruskingsolomon
  اصطلاحات انگلیسی با رنگ‌ها آموزش زبان انگلیسی cyruskingsolomon ۰ ۱,۶۰۳ ۲۸ فروردین ۱۴۰۰ ۱۲:۳۰ ق.ظ
آخرین ارسال: cyruskingsolomon
  کتابهای چاپی آموزش اندروید h_kh ۰ ۱,۷۷۳ ۲۲ فروردین ۱۴۰۰ ۱۱:۴۶ ب.ظ
آخرین ارسال: h_kh
  آموزش زبان انگلیسی:گرامر cyruskingsolomon ۱ ۲,۹۹۳ ۲۲ فروردین ۱۴۰۰ ۰۱:۲۲ ب.ظ
آخرین ارسال: cyruskingsolomon

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close