0

سبد خرید شما خالی است.

طراحی سایت در اصفهان, سئو سایت اصفهان, طراحی سایت فروشگاهی , شرکت طراحی سایت اصفهان, طراحی حرفه ای سایت اصفهان, بهینه سازی سایت , بازاریابی و تبلیغات اینترنتی

ایجاد کد کپچا در php

نویسنده شیما قطره سامانی
امتیاز مطلب
ایجاد کد کپچا در php
5 (100%) 1 vote[s]
تعداد بازدید 192
تاریخ بروزرسانی ۱۶ بهمن ۱۳۹۶

آموزش ایجاد کد کپچا در php

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

 

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

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

 

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

 

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

 

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

 

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

 

فایل index.php

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

 

کد html
<img height="70" width="200"  src="simplephpcaptcha.php"/>

<form action="" method="post">

            <input type="text" name="captcha" />

            <input type="submit" name="submit" />

</form>

 

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

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

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

کد php

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

 

<?php
session_start();
if(isset($_POST['submit'])){
            if($_SESSION['captcha'] == $_POST['captcha']){
                        echo "Captcha Is Correct<br>";
            }else{
                        echo "Captcha Isn't Correct<br>";
            }
}
?>

 

فایل simplephpcaptch.php

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

 

$fp = fopen('xsixlw.txt',"r");
 $count = filesize('xsixlw.txt')/6 - 1;
 $pos = 6*rand(0,$count);
 fseek($fp,$pos);
 $captcha = warpedCaptcha(trim(fread($fp,6)));
 fclose($fp);

 

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

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

 

تابع warpedCaptcha
   if (5 > rand(0,6)) return $text;
   $ltrs = array('b'=>'b','c'=>'c','d'=>'d','f'=>'f','g'=>'g','h'=>'h','j'=>'j',

               'k'=>'k','l'=>'l','m'=>'m','n'=>'n','p'=>'p','q'=>'q','r'=>'r',

                                       's'=>'s','t'=>'t','v'=>'v','w'=>'w','x'=>'x','z'=>'z');

  $vkeys = $vltrs = explode(',','a,e,i,o,u,y');
  shuffle($vkeys);
  $vowels = array();
  foreach($vkeys as $ndx=>$vkey) $vowels[$vkey] = $vltrs[$ndx];
  $ltrs = array_merge($ltrs,$vowels);
  $text = str_split($text);
  $captcha = '';
  foreach($text as $txt) $captcha .= $ltrs[$txt];
  return $captcha;
 }

 

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

 

session_start();
 $_SESSION['captcha'] = $captcha;
session_write_close();

 

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

 

$im = imagecreatetruecolor(200,70);
 $black = imagecolorallocate($im,0,0,0);
 imagecolortransparent($im,$black);

 

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

switch(rand(0,4))
 {
  case 0:$color = imagecolorallocate($im,34,155,91);break;
  case 1:$color = imagecolorallocate($im,233,26,74);break;
  case 2:$color = imagecolorallocate($im,233,26,195);break;
  case 3:$color = imagecolorallocate($im,244,178,19);break;
  case 4:$color = imagecolorallocate($im,53,125,199);break;
 }

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

 

$x = 20;$y = 47
 for ($i=0;$i<6;$i++)

  $angle = rand(-8,8) + rand(0,9)/10;
  $fontsize = rand(22,32);
  $letter = substr($captcha,$i,1);
  $coords = imagettftext($im,$fontsize,$angle,$x,$y,$color,'oldsans.ttf',$letter);
  $x += ($coords[2]-$x) + 1;
 }

 

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

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

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

 

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

 

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

 

نتیجه گیری

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

ایجاد کد کپچا در php
5 (100%) 1 vote[s]
مطالب مرتبط
افزونه نمایش تمامی توابع وردپرسی
مطالعه :

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

افزونه چت واتساپ whats app وردپرس
مطالعه :

افزونه چت واتساپ تیم پشتیبانی | پلاگین WhatsApp Chat WordPress افزونه چت تيم پشتيباني با واتساپ در وردپرس به شما اين امکان را مي‌دهد که تجربيات لذت‌بخش چت کردن در واتساپ را در سايتتان پياده‌سازي کنيد. اين‌يکي از بهترين روش‌هاي ارتباط و ارتباط با مشتري است، شما مي‌توانيد به‌طور مستقيم کاربران سايت را پشتيباني کرده و همچنين در ذهن مشتري ايجاد اعتماد و وفاداري کنيد.موقعيت هاي مختلف نمايش افزونه چت واتساپ تيم پشتيباني شما مي‌توانيد در موقعيت مختلف سايت وردپرسي خود از پشتيبانان آنلاين خود استفاده کنيد. نمايش در ويجت هاي قالب: افزونه چت واتساپ تيم پشتيباني | پلاگين WhatsApp Chat WordPres نمايش در صفحات محصول ساخته‌شده در ووکامرس افزونه چت واتساپ تيم پشتيباني | پلاگين WhatsApp Chat WordPress دکمه‌هاي سفارشي و شورت کدها افزونه چت واتساپ تيم پشتيباني | پلاگين WhatsApp Chat WordPress واضح تر ببينيد : افزونه چت واتساپ تيم پشتيباني | پلاگين WhatsApp Chat WordPress امکانات بي‌نظير افزونه چت واتساپ تيم پشتيباني اين افزونه حساب‌هاي چندگانه را پشتيباني مي‌کند: به شما اجازه ميدهد که تلفن واتساپ تمام کارمندان خود را بصورت شکيل و دريک باکس درکنار هم قرار بدهيد. کارمندان شما با هر پست يا سمتي که در شرکت شما دارند براي بازديدکنندگان وب‌سايت قابل‌مشاهده هستند و مشتري با هر شخص يا بخشي که دوست دارد مي‌تواند در واتساپ چت و گفتگو نمايد. بازديدکنندگان با تنظيمات سفارشي […]

مگا منو mega menu سبک و سریع
مطالعه :

دانلود مگا منو سریع و سبک mega menu یک منو وردپرس مگا است که اجازه می دهد تا شما به راحتی منو را در پروژه تم خود را ادغام کنید. این افزونه به شما امکان می دهد منوهای مگا، منوهای زبانه و منوهای کاروئلاست را به صورت ساده و بومی تبدیل کنید و منوی موجود خود را به یک ابزار قدرتمند تبدیل کنید. سیاراین وردپرس مگا منو یک منو پاسخگو است، به این معنی که طرح مناسب تمام اندازه صفحه نمایش است. با این وجود، تفاوت با سایر گزینه ها این است که رویدادهای صفحه لمسی بطور بومی فعال شده و تجربه کاربر را در صفحه نمایش لمسی بطور قابل توجهی بهبود می بخشد. چیدمانما همچنین باید انواع طرح های در دسترس را که این منو مگا وردپرس را بر جایگزین های دیگر برجسته می کنند ذکر می کنیم. این اولین مگا منو است که همه در یک راه حل است، به عنوان شما می توانید یک منوی افقی یا عمودی را در دستگاه های دسکتاپ و منوی کشویی یا غیرفعال در تلفن همراه ایجاد کنید. کشیدن و رها کردنپنل مدیریت کشیدن و رها کردن یکی دیگر از ویژگی های کلیدی است که این مگامنای را برجسته می کند. از پانل مدیریت منو بومی می توانید تمام محتوای مگامنام خود را با استفاده از یک رابط کشیدن و رها کردن […]

استایل و زیبا سازی سبد فروش edd وردپرس
مطالعه :

استایل و زیبا سازی سبد فروش edd وردپرس به وسیله فایل زیر میتوانید افزونه قدرتمند easy download digital  را زیبا کنین و استایل زیبایی به اون بدین و فروشتون را چند برابر کنین: فرم ارسال آسان دیجیتال فرم پرداخت بسیار آسان است! کنترل کامل از یک ظاهر طراحی شده با گزینه های مختلف و پیش نمایش زنده زمانی که شما را تغییر دهید. این افزونه نیاز به پلاگین دانلود Easy Digital Downloads دارد. Easy Digital Downloads یک راه حل کامل تجارت الکترونیک برای فروش محصولات دیجیتال در وردپرس است. شروع : این 6 مرحله ساده را برای ساخت فرم های زیبا دنبال کنید. مرحله # 1: → نصب / فعال کردن دانلود آسان دیجیتال. دریافت آسان دیجیتال دانلود مرحله 2: → ایجاد دانلودها و انتشار آنها. مرحله 3: → یک صفحه ایجاد کنید که در آن می توانید از کد کوتاه استفاده کنید [download number = “12” column = “4”]. مرحله 4: → به صفحه پرداخت که میخواهید سبک بروید بروید. مرحله 5: → حالا، این صفحه را مشاهده کنید و روی لینک «سفارشی کردن» در نوار مدیریت WordPress در بالای صفحه کلیک کنید. مرحله 6: → مشاهده و باز کردن Checkout Styler برای پانل EDD و سفارشی کردن صفحه پرداخت خود را. این همه! تعداد ستاره های خود را از این مطلب از چپ به راست انتخاب نمایید

طراحی ست اداری شرکت بازرگانی ایراکو
مطالعه :

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

طراحی ست اداری شرکت آواسنگ
مطالعه :

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

دیدگاه ها

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

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