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

در این سری آموزش ها قصد داریم تمام موارد یاد شده را با مثال های عملی و کاربردی توضیح دهیم و پله پله به پیش برویم.

خوب، برای شروع قصد دارم استفاده از کتابخانه PhpCaptcha را آموزش داده و علاوه بر آن نحوه دستکاری تصاویر ساخته شده و نیز اضافه کردن Audio CAPTCHA را توضیح دهم.



- مرحله اول: فایل کتابخانه php-captcha.inc.php را از لینک زیر دانلود کنید:
- مرحله دوم: فایل دانلود شده را به پوشه سایت خود انتقال داده و سپس دو فایل با نام های visual-captcha.php و audio-captcha.php اضافه کرده و کد های زیر را در آن ها بنویسید:

  • فایل visual-captcha.php:
کد PHP:
    require('php-captcha.inc.php');
    
$aFonts = array('fonts/VeraBd.ttf''fonts/VeraIt.ttf''fonts/Vera.ttf');
    
$oVisualCaptcha = new PhpCaptcha($aFonts20060);
    
$oVisualCaptcha->Create();
?>
  • فایل audio-captcha.php:
کد PHP:
    require('php-captcha.inc.php');
    
$oAudioCaptcha = new AudioPhpCaptcha('/usr/bin/flite''/tmp/');
    
$oAudioCaptcha->Create();
?>
این دو فایل وظیفه ساختن تصویر و صدای CAPTCHA را بر عهده دارند. پوشه ای با نام fonts ایجاد کنید و چند font (انگلیسی) در آن قرار دهید. سپس مقادیر موجود در آرایه aFonts$ فایل visual-captcha.php را با فونت های خود، تغییر دهید. برای تولید صدا نیز از انجین Flite استفاده کنید. می توانید آن را از لینک زیر دانلود کرده و در وب سرور نصب کنید:
محل نصب انجین را می بایست در فایل audio-captcha.php ادیت کنید. (usr/bin/flite/)

تنها چیزی که باقی مانده، اضافه کردن کد CAPTCHA به فرم است. پس از اینکه فرم مورد نظر رو طراحی کردید، ما به 4 خط کد اضافی نیاز داریم:

1. کد تصویر CAPTCHA
کد HTML:
"visual-captcha.php" width="200" height="60" alt="Visual CAPTCHA" />
2. کد صدای CAPTCHA
3. کد TextBox مربوط به CAPTCHA
کد HTML:
"text" name="user_code" size="20">
4. کد پردازش صحت ورود داده توسط کاربر با PHP
کد PHP:
    require('php-captcha.inc.php');
    if (
PhpCaptcha::Validate($_POST['user_code'])) {
    echo 
'Valid code entered';
    } else {
    echo 
'Invalid code entered';
}
?>
همین! CAPTCHA شما آماده استفاده است. آن را امتحان کنید!

حال اجازه دهید کمی این تصویر را دستکاری کنیم... بدیهی است که تمام تغییرات مورد نیاز خود را باید در فایل visual-captcha.php و قبل از کد ;()$oVisualCaptcha->Create اعمال کنیم. اولین تغییر رو هدیه می دهم به تمام دوستداران Copyright!! با اضافه کردن کد زیر، می توانید یک منبع برای کد خود ایجاد کنید:



کد PHP:
$oVisualCaptcha->SetOwnerText('Source: www.barnamenevis.com'); 
حالا بیایید برای کاراکترها سایه ایجاد کنیم:



کد PHP:
$oVisualCaptcha->DisplayShadow(true); 
حال میخواهیم از تصویر Background مشخصی استفاده شود، یک پوشه به نام images ساخته و تصویر مورد نظر خود را در آن قرار دهید (معمولا background های 100x100 استفاده می شود)، حال کد زیر را اضافه کنید:



کد PHP:
$oVisualCaptcha->SetBackgroundImages('images/captcha.gif'); 
خوب، حالا دوست دارید نوشته های موجود در تصویر رنگی شوند؟! کافی است کد زیر را اضافه کنید:



کد PHP:
$oVisualCaptcha->UseColour(true); 
خوب، اینم از تغییراتی که میشد ایجاد کرد. نکته قابل توجه اینجاست که شما می توانید این تغییرات را با هم ادغام کنید (با تولید یک عدد تصادفی و نوشتن کدی برای انتخاب بین روش های موجود و ...) و تصاویری با تنوع بیشتر و پیچیده تر تولید کنید.

به زودی نوشتن کد CAPTCHA رو از اول براتون توضیح می دهم.

موفق باشید