ساخت captcha کپچا ( کد امنیتی ) در PHP

ساخت 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

ساخت captcha کپچا ( کد امنیتی ) در PHP


قبل از اجرای برنامه دستور زیر را در cmd یا ترمینال وارد کنید .

composer install


دانلود پروژه captcha کپچا ( کد امنیتی ) در PHP

ارسال نظر