پیاده سازی تصویر امنیتی (CAPTCHA) در C#

یکشنبه 13 اردیبهشت 1394

در این مقاله میخواهیم تصویر امنیتی را در سی شارپ پیاده سازی کنیم

پیاده سازی تصویر امنیتی (CAPTCHA) در C#

در این مقاله خواهید دید که چگونه بدون استفاده از کتابخانه captcha و سازنده تصویر ،تصویر امنیتی ایجاد کنیم.

Captcha (Completely Automated Public Turing test to tell Computers and Humans Apart) برای امتحان کردن و تشخیص کسی که از کامپیوتر استفاده میکند انسان باشد و نه یک رباط.

ما همه به نیاز استفاده از تصویر امنیتی آگاه هستیم و از کتابخانه تصویر امنیتی یا پلاگین برای ایجاد captcha به صورت تصویر  یا متن برپایه تصویر به دلیل راحتی و آسانی کار استفاده میکنیم.

ما می توانیم به سادگی دانلود کنیم و یا  تصاویر ی از متن یا اعداد را تولید کنیم..تعداد زیادی از ویرایشگرهای عکس در حال حاضر در بازار هستند که  آزادانه در دسترس می باشند.

حالا برای پیاده سازس واقعی یک پروژه جدید از نوع وب فرم بسازید و صفحه ای که میخواهید تصویر امنیتی را پیاده سازی کنید انتخاب کنید. در اینجا یک Image Button داریم و یک textbox برای وارد کردن متن توسط کاربرحال به قسمت aspx.cs رفته و کد زیر را در رویداد Page_Load بنویسید:

protected void Page_Load(object sender, EventArgs e)  
{  
    if (!IsPostBack) //Check whether this is pos back occurred or not  
    {  
        DateTime now = DateTime.Now;  
        int s = now.Second;  
        a = s % 10;  
        if (a == 0)  
        {  
            ImageButton1.ImageUrl = "~/imge/0.jpg"; //captcha image 1  
        }  
        if(a == 1)  
        {  
            ImageButton1.ImageUrl = "~/imge/1.jpg"; //captcha image 2  
        }  
        ……………………………………………………………..  
        …………………………………………………….  
    }  
} 

سپس در رویداد کلیک دکمه ای که قرار دادیم کد زیر را مینویسیم:

protected void Button1_Click(object sender, EventArgs e)  
{  
    switch (a)  
    {  
        case 0:  
            if (TextBox1.Text == "abc")  
            {  
                Response.Write("You are a man…");  
            }   
            else   
            {  
                Response.Write("Robot Found.. Try Again");  
                Response.Redirect(Request.RawUrl.ToString());  
            }  
            break;  
        case 1:  
            if (TextBox1.Text == "def")  
            {  
                Response.Write("You are a man..");  
            }   
            else   
            {  
                Response.Write("Robot found .. try again");  
                Response.Redirect(Request.RawUrl.ToString());  
            }  
            break;  
            ………………………………………………….  
            ……………………………………………………………………………………………………  
            //We can extend it more as per our requirement.  
    }  
} 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید