ساخت کپچا در php (کد امنیتی)

  • آپدیت شده در تاریخ

ساخت کپچا در php

تقریبا میتوان گفت کمتر کسی هست که با کد کپچا آشنایی نداشته باشد و تابحال ندیده باشند.
کدی که اکثرا در تمامی فرم ها در وب سایت ها قرار دارد و شما میبایست با پر کردن آن از الگویی که به شما داده شده است , به وب سایت بفهمانید که روبات های هکر نیستید .

در این اسکریپت اول از همه یک شماره کاملا تصادفی (random) تولید و سپس از خروجی یک عکس می سازیم . اگر کاربر فرم را با مقدار درست کپچا – captcha ارسال کرد ، بقیه مراحل مثل insert کردن داده ها داخل دیتابیس یا ارسال ایمیل و…. انجام میدیم

 

قدم اول : ساخت یک صفحه HTML

کد زیر شامل یک ورودی اسم ، ایمیل و کپچا با دکمه submit است . این کد ها را در فایل index.php ذخیره میکنیم.

قدم دوم : ساخت کد کپچا

یک فایل captcha.php ایجاد و داخل بلاک php تابع session_start() را فراخوانی می کنیم.بعد با تابع rand() یک مقدار عدید ایجاد و داخل متغییر سئشن ذخیره میکنیم .

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

از هرکدام از کد php بالا بنابر نیاز خود استفاده کنید.

تعریف اندازه تصویر کپچا و همچنین اندازه فونت

تعریف content type فایل captcha.php به صورت عکس

ساخت کپچا در php با اندازه و رنگ پس زمینه دلخواه

تعیین رنگ متن کپچا به صورت rgb

ساخت کپچا از رشته تولید شده و گرفتن خروجی عکس در مروگر با فونت دلخواه

قدم سوم : نمایش کد امنیتی (captcha) در فرم

در قدم اول آموزشمان ، ما فیلد های مربوط به کپچا را اضافه کردیم . برای نمایش کپچا از تگ img و قرار دادن مقدار captcha.php در مشخصه src استفاده می کنیم.

ساخت کپچا در php (کد امنیتی)

قدم چهارم : بررسی کپچا بعد از ارسال فرم

حالا باید کد کپچا ارسال شده را چک کنیم . اگر مقدار ارسال شده با مقداری که در سئشن ذخیره شده یکسان بود مقدار true و اگر اشتباه بود مقدار false را داخل شرطمان بر میگردانیم

امیدوارم از آمورش ساخت کپچا در php (کد امنیتی) استفاده برده باشید و در پروژه هایی که می نویسید بخصوص در قسمت صفحات لاگین برای جلوگیری از حملات brute-force و در صفحه نظرات برای پیشگیری از اسپم شدن از این مکانیزم استفاده کنید.

اگر مشکلی در پیاده سازی این کد ها در پروژه هاتون داشتید  لطفا از قسمت نظرات با ما در ارسال کنید . سریعا پاسخگوی سوالات شما هستیم .

برای دریافت سورس این پروژه لطفا از باکس دانلود پایین این بخش استفاده کنید .

موفق و پیروز باشید.

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۷۴)

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  1. یوسف ۲۰ شهریور ۱۴۰۳

    عرض ادب

    برای فراخانی در وردپرس ، لینک captcha.php و لینک font.ttf رو چطور باید فراخانی کنیم ؟

    پاسخ
    1. حسن شفیعی ۲۲ شهریور ۱۴۰۳

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

      پاسخ
دوره های آموزشی