Webmaster общности: Predpriemach.com | SearchEngines.bg

    PHP код за сигурност / против ботове /

    Автор: AnHiMiLaToR

    Първо искам да отбележа, че автора е неизвестен, не съм аз.
    Реших да го споделя понеже ми е много полезен.
    На практика можете да го видите тук: http://gre-rakovski.com/?p=contact .
    Използва се за контакт форми, регистрация и др, които използват метод POST

    създавате файл code.php:

    <?php
    session_start();
    $simwoli = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    $max_chars = 6;
    $count = strlen($simwoli)-1;
    
    for ($i=0; $i<$max_chars; $i++) {
    $random = mt_rand(0, $count);
    $rand .= $simwoli{$random};
    }
    $_SESSION['image_random_value'] = md5($rand);
    $image = imagecreate(60, 22);
    $bgColor = imagecolorallocate ($image, 255, 255, 255);
    $textColor = imagecolorallocate ($image, 102, 102, 102);
    imagestring ($image, 6, 4, 4, $rand, $textColor);
    header('Content-type: image/jpeg');
    imagejpeg($image);
    imagedestroy($image);
    ?>

    следващото го пишете във формуляра, там където да се показва кода:

    Код за сигурност: <img src="code.php"/>
    Въведи кода: <input type="text" name="randimage_txt" maxlength="6"/>

    и последно, във файла, който обработва заявката:

    if( md5( $_POST['randimage_txt'] ) != $_SESSION['image_random_value'] ){
    print'Объркахте кода за сигурност. Моля опитайте отново!';
    }
    else{
    //код, който да се изпълни ако секретния код е вярно попълнен
    print'Кода за сигурност е верен.';}

    Оставете коментар