ساخت 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
ارسال نظر