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

آموزش ایجاد کپچا (Captcha) در ASP.NET MVC به زبان ساده

چگونه با 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 جهت ایجاد تصاویر زیاد وجود داره که در مقاله ی بعدی راه کار مناسبتری در این باره ارائه خواهد شد


علی شکرالهی
علی شکرالهی

بنیانگذار توسینسو و توسعه دهنده

علی شکرالهی، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس موبایل، مهندسی نرم افزار از دانشگاه آزاد اسلامی واحد کرج ، بیش از 15 سال سابقه ی فعالیت های حرفه ای و آموزشی

نظرات