نویسنده پشتیبانی وب یار
امتیاز مطلب
تعداد بازدید 3373
تاریخ بروزرسانی ۱۵ اردیبهشت ۱۴۰۱

آموزش طراحی و ساخت کد کپچا در PHP

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

در این مطلب روش های تولید کد امنیتی کپچا در php را آموزش می دهیم، تا بتوانید به راحتی برای فرم های ورود ، عضویت ، نظرات و هر آن چه که برای امنیت سایت نیاز به ایجاد کد کپچا در php دارید، آن را وارد نمایید. با تیم طراحی سایت اصفهان وب یار همرا باشید تا نحوه ایجاد کد کپچا در php را به شما نشان دهیم و از آن لذت ببرید.

معمولا شما در بیشتر سایت هایی که دارای فرم های اینترنتی هستند شاهد کدهای کپچا (captcha)تصویر امنیتی – هستید. بیشتر این کدها از کلمات به هم ریخته ای تشکیل شده است که شما باید شکل صحیح آن را وارد نموده تا بتوانید  از عهده ی این تست بر آیید.

کد کپچا مخفف عبارت (Completely Automated Public Turing test to tell Computers and Humans Apart) می باشد؛ یعنی تست کاملا خودکار برای تشخیص انسان از رایانه، هدف از ایجاد کد کپچا در php این است که کاربران از عهده تست کد کپچا بر می آیند ولی رایانه ها به تنهایی نمی توانند از عهدی این آزمون ( تصویر امنینی کد کپچا ) برآیند.

 

کد ایجاد تصویر امنیتی ساده (کپچا) در php

کاربردهای کد کپچا

  • تصویر امنیتی برای جلوگیری از اسپم در بلاگها و سایر وب‌گاه‌ها
  • تصویر امنیتی برای جلوگیری از نفوذ ربات ها به رایانه ها
  • تصویر امنیتی برای جلوگیری از نفوذ هکرها به رایانه ها

کد ایجاد تصویر امنیتی ساده کپچا در php

طبق آموزش ساخت کد امنیتی با php ابتدا باید دو فایل به نام های index.php و simplephpcaptch.php   ایجاد کنید. (البته توجه نمایید که دو فایل simplephpcaptch.php  و index.php کافی نبوده و نیازمند فونت و لیست لغات است که در پایین صفحه ضمیمه شده اند.)

فایل index.php

بعد از ایجاد فایلindex.php قطعه کدهای زیر را داخل آن قرار دهید.

کد html

خط اول یک image  ایجاد می کند که این تصویر در فایل simplephpcaptch.php ایجاد می شود و در صفحه ی index.php فراخوانی و نهایتا به نمایش در می آید. در خط بعدی یک فرم ایجاد می شود که کاربر باید کد کپچا ( تصویر امنیتی ) به نمایش در آمده را در این قسمت وارد نماید.

روش های تولید کد امنیتی کپچا

ساخت کد امنیتی با کد php

کد زیر حروفی که کاربر وارد کرده را با کپچای اصلی مقایسه می کند و درصورت درست یا غلط بودن پیغام متناسب با آن را به کاربر نشان می دهد.

فایل simplephpcaptch.php

در این فایل کد کپچا ایجاد شده و به صفحه ی ایندکس ارسال می شود. اینک به توضیح کدهای موجود در این فایل می پردازیم.

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

به طور خلاصه قطعه کد بالا به این صورت عمل می کند فایل txt  را باز می کند و به صورت رندم یک قسمت از فایل را انتخاب می کند و با استفاده از تابع warpedCaptcha شش حرف آن را می خواند و کد کپچا را ایجاد می کند.

تابع warpedCaptcha

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

بعد از ایجاد کد کپچا باید آن را در تصویر قرار بدهیم و رنگ و شکل آن را تغییر دهیم.

در کد بالا یک تصویر 200px *70px  ایجاد می کند و رنگ پشت زمینه آن را ابتدا سیاه می نماید و سپس پشت زمینه را حذف می کند تا فقط کد کپچا یک border سیاه داشته باشد. بعد از آن نوبت به رنگ آن می رسد ابتدا با استفاده از کد زیر هر تعداد رنگ به دلخواه می توانید ایجاد کنید که هربار یک رنگ به طور رندم انتخاب می شود.

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

در خط اول موقعیت نمایش کد کپچا را مشخص می کند و در قسمت for یک حرف انتخاب می شود و به ترتیب زاویه و سایز آن  مشخص می شود.

به تابع imagettftext() به ترتیب پشت زمینه ، سایز، زاویه ،موقعیت ، رنگ ، نوع فونت ، حرف مورد نظر داده می شود و حرف مورد نظر به نمایش در می آید.

حال فایل های مورد نیاز را می توانید از این قسمت دانلود نمایید.

دانلود کد ایجاد تصویر امنیتی ساده (کپچا) در php

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

در این قسمت به شما نحوه ی ایجاد کد کپچا در php را آموزش دادیم. همانطور که می دانید هر چه کد کپچا پیچیده تر باشد امکان ورود هکر ها و ربات به سایت شما کم وکم تر می شود. به همین دلیل وب یار آماده ی هرگونه کمک در خصوص ایجاد کدهای کپچای پیچیده تر برای شما دوست داران وب یار است.

 

مقالات مرتبط