در این قسمت از دوره آموزش Asp.Net MVC ما قصد داریم درباره نحوه کار با Captcha برای شما عزیزان صحبت کنیم.
کپچا (CAPTCHA) روشی برای تشخیص انسان از ربات است که از ارسال خودکار فرمها و حملات اسپم جلوگیری میکند.
در پروژههای ASP.Net MVC میتوان کپچا را با Partial View و یک اکشن ریزالت ساده پیادهسازی کرد.
کپچا معمولاً رشتهای تصادفی تولید و در Session ذخیره میشود، سپس متن بهصورت تصویر (BMP/PNG) رندر میگردد تا رباتها نتوانند آن را بخوانند.
برای افزایش امنیت میتوان کاراکترها را با نویز، فونتهای متغیر و ترکیب حروف/اعداد پیچیده کرد تا قابلیت تشخیص ربات کاهش یابد.
در فرمها مقدار ارسالشده با مقدار ذخیرهشده در Session مقایسه و در صورت مطابقت، درخواست پردازش میشود و در غیر این صورت پیام خطا نمایش داده میشود.
استفاده از کپچا بومی نسبت به سرویسهای خارجی مثل Google reCAPTCHA مزیت سرعت و کنترل کامل روی منطق پیادهسازی دارد.
همچنین میتوان reCAPTCHA را برای حفاظت قویتر در برابر باتهای پیشرفته و حملات بروتفورس ترکیب کرد.
مراقب باش که کپچا را طوری طراحی کنی که تجربه کاربری تخریب نشود (قابلیت خواندن برای انسان حفظ شود) و دسترسیپذیری را نیز در نظر بگیری.
آموزش ASP.Net MVC - استاد رحیم لطفی - معرفی و کاربرد Captcha برای تشخیص کاربر واقعی از ربات - دلیل نیاز به Captcha: جلوگیری از درخواستهای خودکار و اسپم از طریق رباتها - مقایسه انواع Captcha: از کپچای ساده متنی تا کپچاهای حرفهایتر مانند Google reCAPTCHA - نحوه پیادهسازی Captcha به صورت سفارشی با استفاده از کدهای C# - ساخت یک Controller جدید (مانند CaptchaController) برای تولید کپچا - نحوه تولید یک متن تصادفی (Random String) در C# برای کپچا - ذخیره متن تولید شده در Session برای اعتبارسنجی در درخواستهای بعدی - نحوه تبدیل متن کپچا به تصویر (Image) با استفاده از کلاسهای گرافیکی C# (System.Drawing) - دلیل تبدیل متن به تصویر: جلوگیری از خوانده شدن آن توسط رباتها - نحوه نمایش تصویر کپچا در View با استفاده از تگ img و سورس (Source) آن - پیادهسازی فرم اعتبارسنجی: گرفتن ورودی کاربر و مقایسه آن با متن ذخیره شده در Session - استفاده از Session برای ذخیره متن کپچا و جلوگیری از نمایش آن در HTML - مزیت استفاده از کپچای سفارشی: سرعت بالاتر و عدم وابستگی به سرویسهای خارجی - مثال عملی: ساخت یک فرم ساده با کپچا، textbox و دکمه Submit و اعتبارسنجی آن
#aspnetmvc - #aspnet - #MVC - #Captcha
امیدوارم که برای شما عزیزان مفید واقع بشه.
فقط لطفا اگر خوشتون اومد لایک و سابسکرایب و نظر فراموش نشه.
آدرس شبکه های اجتماعی ما:
سایت:
http://www.heilton.com/
توییتر:
/ heiltongroup
تلگرام:
https://telegram.me/HeiltonProgramming
فیس بوک:
https://www.facebook.com/login/?next=...
یوتیوب:
/ @alfa4970