ساخت captcha کپچا ( کد امنیتی ) در PHP
ساخت captcha کپچا ( کد امنیتی) در PHP – با کمک کپچا امکان جلوگیری از ربات های مزاحم یا اسپمر وجود دارد به طوری که باید کد درون تصویر به صورت صحیح وارد شود تا درخواست مورد بررسی قرار گیرد .
این ویژگی باعث بالا رفتن امنیت در مواقع ارسال اطلاعات از طریق فرم می باشد .
در این آموزش از کتابخانه gregwar/captcha کمک خواهیم گرفت که برای تولید و تایید کپچا مورد استفاده قرار می گیرد .
composer require gregwar/captcha
آموزش شامل 2 فایل می باشد :
1- index.php : فرم که قصد ارسال اطلاعات را داریم و از کپچا استفاده می کند ، همچنین تایید کپچا هم در این فایل صورت می گیرد .
2- generate-captcha-code.php : سازنده تصویر و session کپچا .
1- فایل index.php برای درخواست و تایید کپچا
<?php session_start(); require_once __DIR__.'/vendor/autoload.php'; use Gregwar\Captcha\PhraseBuilder; ?> <!DOCTYPE html> <html lang="fa"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>RapidCode.IR - ساخت کپچا در PHP</title> <style> body { text-align: center; overflow-x: hidden; } #introduce { color: white; text-decoration: none; font-weight: bold; display: block; width: 100%; padding: 5px 10px; background-color: #4CAF50; text-align: center; font-size: 25px; margin-bottom: 45px; } .ds-none{ display: none; } .container{ width: 70%; margin: 15px auto; } .inp-cls{ border: 3px solid lime; color: black; outline: none; border-radius: 2px; padding: 5px; display: block; margin-bottom: 5px; width: 80%; margin-right: 10%; height: 32px; font-size: medium; text-align:center; } #captcha-form{ direction: rtl; width: 70%; margin-left: 15%; } .warning{ background-color: tomato; } .success{ background-color: lime; } </style> </head> <body> <a id="introduce" target="_blank" href="https://rapidcode.ir">رپید کد - کتابخانه مجازی برنامه نویسان</a> <div class="container"> <?php if(!empty($_POST['captcha-code'])){ $user_captcha = $_POST['captcha-code']; $valid_captcha = @$_SESSION['captcha-code']; if(PhraseBuilder::comparePhrases($valid_captcha, $user_captcha)) $msg = "<span class=\"success\">معتبر</span>"; else $msg = "<span class=\"warning\">نامعتبر</span>"; echo "<h1>کد کپچا {$msg} است</h1>"; } ?> <form id="captcha-form" method="POST"> <img src="generate-captcha-code.php" alt="captcha-picture"> <input type="text" class="inp-cls" name="captcha-code" placeholder="کد درون تصویر را وارد کنید"> </form> </div> </body> </html>
2- فایل generate-captcha-code.php که برای ساخت کپچا می باشد
<?php session_start(); require_once __DIR__.'/vendor/autoload.php'; use Gregwar\Captcha\CaptchaBuilder; $captcha = new CaptchaBuilder; $_SESSION['captcha-code'] = $captcha->getPhrase(); header('Content-Type: image/jpeg'); $captcha->build()->output() ?>
دموی پروژه ساخت captcha کپچا ( کد امنیتی ) در PHP
قبل از اجرای برنامه دستور زیر را در cmd یا ترمینال وارد کنید .
composer install
ارسال نظر