در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

ایجاد یک Captcha ی ساده در ASP.NET MVC

پیاده سازی یک Captcha ی بسیار ساده در ASP.NET MVC ، در این مقاله قصد دارم تا طریقه ی پیاده سازی یک Captcha ساده رو براتون توضیح بدم .ابتدا یک Controller با نام Home به پروژه اضافه کرده و داخل آن اکشن های Index و CaptchaImage رو به شکل زیر می نویسیم :

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult CaptchaImage()
    {
        
    }

}

حال کد زیر را داخل اکشن CaptchaImage قرار میدیم :

public ActionResult CaptchaImage()
{
    var bitmap = new Bitmap(50,30,PixelFormat.Format24bppRgb);
    var graphic = Graphics.FromImage(bitmap);

    var random = new Random();
    var captchaNum = random.Next(1234, 9999);

    graphic.FillRectangle(new SolidBrush(Color.Black), 0, 0, 50, 30f);
    graphic.DrawString(captchaNum.ToString(), new Font("Tahoma", 10, FontStyle.Bold),
                       new SolidBrush(Color.White), 4, 8);

    var memoryStream = new MemoryStream();
    bitmap.Save(memoryStream, ImageFormat.Png);

    return File(memoryStream.ToArray(), "image/png");

}

حال برای استفاده از این Captcha در داخل View اکشن Index کد زیر رو قرار میدیم:

<img src="@Url.Action("CaptchaImage")" alt="captcha" />

درصورتی که برنامه رو اجرا کنید ، می بینید که یک عدد رندوم ایجاد شده و در تگ img نمایش داده میشه .

البته این روش یک مشکل داره و اون اینکه امکان ارسال درخواستهای fake جهت ایجاد تصاویر زیاد وجود داره که در مقاله ی بعدی راه کار مناسبتری در این باره ارائه خواهد شد .

با آرزوی موفقیت

نویسنده: علی شکرالهی

منبع: جزیره برنامه نویسی وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر نام نویسنده و منبع دارای اشکال اخلاقی است

#ایجاد_captcha_در_asp.net_mvc #برنامه_نویسی_captcha #انواع_captcha #ساخت_تصویر_امنیتی_یا_captcha_image #captcha_چیست
2 نظر
mr_rostami

دست شما درد نکنه استاد ایده بسیار جالبی داشت :-)

حسین احمدی

جایی خونده بودم که IE8 به پایین جواب نمیده، فقط هم تا 2 مگابایت عکس رو میشه نمایش داد که توی IE9 شده 40 گیگابایت.

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....