ایجاد کپچا در فرم‌ با PHP (تمرین شماره چهار)

توسعه‌دهندگان هر روز در تلاش‌اند تا فرآیندهای مختلف برنامه‌نویسی را خودکار کنند. طبق این واقعیت که کامپیوترها بسیار سریع‌تر و دقیق‌تر از انسان هستند، پس به ما امکان می‌دهند بسیاری از کارهای پیچیده روزمره را ساده‌تر کنیم. اما متأسفانه از همین توانایی‌ها می‌توان برای برنامه‌ریزی کامپیوترها در جهت انجام کارهای مخرب مانند ارسال هرزنامه (spam) یا حدس زدن رمزهای عبور استفاده کرد.

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

یکی از راه‌های حل این مشکل، قرار دادن آزمایشی است که می‌تواند بین ربات‌هایی که سعی در انتشار هرزنامه دارند و افرادی که به طور قانونی می‌خواهند با شما تماس بگیرند، تمایز قائل شود. این همان جایی است که CAPTCHA وارد عمل می‌شود. آن‌ها معمولا از تصاویری با ترکیب تصادفی پنج یا شش حرفی که روی پس زمینه رنگی نوشته شده‌اند، تشکیل می‌شوند. ایده این است که یک انسان می‌تواند متن داخل تصویر را بخواند، اما یک ربات نمی‌تواند. بررسی مقدار CAPTCHA پر شده توسط کاربر در برابر نسخه اصلی می‌تواند به شما کمک کند ربات‌ها را از انسان تشخیص دهید. CAPTCHA مخفف عبارت:

"completely automated public Turing test to tell computers and humans apart"

تست تورینگ عمومی کاملا خودکار برای تشخیص کامپیوترها و انسان‌هاست.

نحوه ایجاد کپچا در فرم‌ با PHP

برای این کار از کتابخانه PHP GD استفاده خواهیم کرد.همچنین باید کمی کد بنویسیم که رشته تصادفی خود را ایجاد کنیم تا روی تصویر ساخته شده نوشته شود.

مرحله نخست: ایجاد یک رشته تصادفی

برای اینکار یک فایل با عنوان captcha.php ایجاد می کنیم.سپس دستورات php خود را برای تولید یک رشته تصادفی وارد می کنیم.

ابتدا یک متغیر با نام permitted_chars ایجاد می کنیم که این متغیر حاوی کاراکترهای انگلیسی است.


مشاهده ادامه در لینک زیر:

https://dejavan.ir


سخن پایانی

این بود یکی دیگر از تمرین های PHP در صورت داشتن سوال یا نظر اون رو با من در میان بزارید.

من امیر جوان میر هستم گرافیست و توسعه دهنده وب از سال 1390

instagram: https://www.instagram.com/amir.javanmir/

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

website: https://dejavan.ir
instagram: https://instagram.com/designer.javan
twitter: https://twitter.com/designer_javan
Telegram: https://t.me/designer_javan


سایر مطالب

https://virgool.io/phpExamples