0

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

طراحی سایت در اصفهان, سئو سایت اصفهان, ساخت سایت اصفهان, طراحی سایت حرفه ای اصفهان, بهینه سازی سایت , بازاریابی و دیجیتال مارکتینگ 09133886881 احمدپور

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

نویسنده پشتیبانی وب یار
امتیاز مطلب
تعداد بازدید 1294
تاریخ بروزرسانی 22 جولای 2019

آموزش ایجاد کد کپچا در 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 را آموزش دادیم. همانطور که می دانید هر چه کد کپچا پیچیده تر باشد امکان ورود هکر ها و ربات به سایت شما کم وکم تر می شود. به همین دلیل وب یار آماده ی هرگونه کمک در خصوص ایجاد کدهای کپچای پیچیده تر برای شما دوست داران وب یار است.

 

مطالب مرتبط
HTML YouTube Video
مطالعه :

در این مقاله قصد داریم به آموزش HTML YouTube Video  بپردازیم. پس با ما همراه باشید. شاید شما نیز هنگام آپلود کردن ویدیو در سایت‌ تان به مشکلاتی از قبیل افت سرعت سایت، نخواندن فرمت و…برخورده اید. از عمده دلایلی که افراد به سراغ آپلود فیلم در سایت خود نمی روند، می توان به درگیری با فرمت ویدئو اشاره کرد، چرا که ممکن است همه مرورگرها فرمت فیلم‌تان را نتوانند باز کنند و شما مجبور به تغییر فرمت متناسب با مرورگرتان شوید، که این خود شاید کاری سخت و یا وقت‌گیر باشد. در این بخش راهی ساده با استفاده از سوشیال مدیای یوتیوب در اختیار شما قرار می دهیم. آپلود ویدئو به کمک YouTube یوتیوب سال هاست که با خدمات ارزشمند خود به یاری کاربران و انواع نیازهای آنان پرداخته است. شما برای استفاده از امکانات پخش فیلم یوتیوب در سایت خود کافیست در آن عضو شده و ویدئوی خود را آپلود کنید. شناسه و یا IDیی رایگان (به طور مثال : tgbNymZ7vqY) یوتیوب به شما می دهد. نحوه استفاده از این شناسه را در بخش بعد به شما آموزش می دهیم. پخش ویدئوی YouTube در HTML با استفاده از تگ <iframe>  و تعیین src attribute می توان به راحتی فیلم یوتیوب را در کد HTML خود اجرا کنید. iframe width=”420″ height=”315″> src=”https://www.youtube.com/embed/tgbNymZ7vqY” </iframe>   توجه شود که درون تگ […]

9 ویژگی مهم CSS در طراحی وب
مطالعه :

در این مقاله قصد داریم  تا با 9 ویژگی مهم CSS در طراحی وب آشنا شویم. 9 ویژگی مهم CSS در طراحی وب در طی یادگیری css به طور کامل با تمامی ویژگی های Css آشنا شدیم و یادگرفتیم که هر کدام از این ویژگی ها چه کاربردی دارند و چگونه باید از انها استفاده کنیم،در این مقاله نیز میخواهیم به صورت کاملا خلاصه با 9 ویژگی کاربردی css آشنا شویم .     1) font-face     یکی از ویژگی های  CSS3 که درسال های اخیر باعث تحولاتی در بخش طراحی وب شده  font-faceاست. این ویژگی به ما  این امکان را میدهد  که هر فونتی که می خواهیم ، به راحتی با فرمت های مختلف و تنظیمات دلخواه در هر بخش از کدCSS  استفاده کنیم. از این ویژگی برای انتخاب ازبین چندین هزار فونت رایگان ، برای صفحه وب خود استفاده کنید. @font-face { font-family: Blackout; src: url(“assests/blackout.ttf”) format(“truetype”); } 2)  media از کوئری های media برای ساخت صفحات واکنش گرا یا طراحی وبسایت بر اساس شرایط دستگاه مورد استفاده قرار میگیرند. با استفاده از کوئری media  و ویژگی min-width  ما می توانیم عناصر صفحه ی وب را به شکل بهتری و با توجه به شرایط موجود به نمایش کاربر در بیاورید. @media screen and (max-width: 960px) { } 3)   clearfix استفاده از clearfix   برای مواقعی که overflow: hidden کار نمیکند, جایگزین […]

Google analytics
مطالعه :

Google analytics در این مطلب میخواهیم در مورد google analytics با شما صحبت کنیم. ابتدا تاریخچه google analytics سپس در مورد چگونگی ثبت نام در آن و مکانیزم کارکرد آن را بررسی می کنیم.     تاریخچه: در  مارس 2005 گوگل شرکت urchin را تحت مالکیت خود در آورد. کاربران اینترنت برای اولین بار در 11 نوامبر 2005  این سرویس گوگل را شناختند،سرویسی که تا قبل از آن که توسط گوگل خریداری شود به نام urchin  و با قیمت 500 دلار در بازار عرضه می شد. اما گوگل هنگام رو نمایی از این سرویس اعلام کرد که این سرویس به صورت رایگان عرضه خواهد شد که این گفته باعث ایجاد مشکلات بسیاری در سرور های گوگل شد چرا که ارائه ی رایگان این سرویس خدمت بزرگی برای صاحبان وبسایت و کسب و کار ها بود . استقبال از این سرویس گوگل تا حدی زیاد بود که گوگل مجبور شد به مدت 10 ماه ثبت نام های این سرویس را ببندد. در زمان بسته شدن ثبت نام گوگل ماشین جدیدی به این سرویس اضافه کرد تا عملکرد google analytics  بهبود پیدا کند.همان ط.ر که پیشبینی می شد باز شدن این سرویس پس از 10 ماه باعث حجوم کاربران بسیاری شد و این سرویس در عرض چند ماه همه گیر و محبوب شد. ثبت نام در google analytics : عکس زیر تمامی […]

3 لیست مهم در HTML5
مطالعه :

در این مقاله میخواهیم 3 لیست مهم در HTML5 را به شما بگوییم. 3 لیست مهم در HTML5 لیست ها کاربردهای فراوانی در متون مختلف داشته و حتما تا به حال نمونه هایی از آن ها را در کتاب ها ، مجلات ، روزنامه ها و.. دیده اید. اما کاربرد لیست ها محدود به مطالب چاپی نمی شود و امروزه در انواع صفحات وب ، شبکه های اجتماعی و یا پیام رسان ها نیز دیده می شوند. با کمک لیست ها می توانید موضوعات مرتبط به هم را در یک دسته قرار داده و آن ها را گروه بندی کنید. HTML نیز به منظور ایجاد انواع لیست ها در صفحات وب تگ هایی مشخص کرده است. در HTML5  سه نوع لیست با کاربردهای متفاوت وجود دارد که شامل موارد زیر است : Unordered Lists Ordered Lists Description Lists در ادامه به کاربرد و نحوه ی نوشتن هر لیست می پردازیم :     Unordered Lists در این لیست ها ترتیب آیتم ها اهمیت نداشته و تنها عناصر مرتبط به هم در یک لیست قرار می گیرند. به عنوان مثال به لیست زیر توجه کنید : انواع نوشیدنی های گرم قهوه چای نسکافه همان طور که مشاهده می کنید در این لیست ترتیب اهمیت نداشته و فرقی نمی کند چه آیتمی اول و یا اخر باشد. برای نوشتن چنین لیست هایی […]

فروشگاه اینترنتی حرفه ای
مطالعه :

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

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

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

دیدگاه ها

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

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