HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 18.08.2009, 18:02
SaiRus
Постоянный
Регистрация: 24.11.2008
Сообщений: 416
Провел на форуме:
910902

Репутация: 100
По умолчанию

PHP код:
<?
session_start 
();

switch (
$a) {
    case 
'image':
        
$im = @imagecreate (8020) or die ("Cannot initialize new GD image stream!");
        
$bg imagecolorallocate ($im232238247);
        
$char $_SESSION['code'];

        
//создаём шум на фоне
        
for ($i=0$i<=128$i++) {
            
$color imagecolorallocate ($imrand(0,255), rand(0,255), rand(0,255)); //задаём цвет
            
imagesetpixel($imrand(2,80), rand(2,20), $color); //рисуем пиксель
        
}

        
//выводим символы кода
        
for ($i 0$i strlen($char); $i++) {
            
$color imagecolorallocate ($imrand(0,255), rand(0,128), rand(0,255)); //задаём цвет
            
$x $i 20;
            
$y rand(16);
            
imagechar ($im5$x$y$char[$i], $color);
        }

        
/*/упрощённый вариант
        $color = imagecolorallocate($img, 0, 0, 0);
        imagestring($im, 3, 5, 3, $char, $color);*/

        //антикеширование
        
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
        
header("Cache-Control: no-store, no-cache, must-revalidate");
        
header("Cache-Control: post-check=0, pre-check=0"false);
        
header("Pragma: no-cache");

        
//создание рисунка в зависимости от доступного формата
        
if (function_exists("imagepng")) {
           
header("Content-type: image/png");
           
imagepng($im);
        } elseif (
function_exists("imagegif")) {
           
header("Content-type: image/gif");
           
imagegif($im);
        } elseif (
function_exists("imagejpeg")) {
           
header("Content-type: image/jpeg");
           
imagejpeg($im);
        } else {
           die(
"No image support in this PHP server!");
        }
        
imagedestroy ($im);    
    break;
    case 
'submit':
        
//проверка кода
        
if (empty($_GET['code']) or empty($_SESSION['code'])) {
            echo 
'Вы не указали код подтверждения';
        } elseif (
$_GET['code'] != $_SESSION['code']) {
            echo 
'Код подтверждения не совпадает';
        } else {
            echo 
'Всё Ok!';
        }
    break;
    default:
        
$_SESSION['code'] = substr(md5(uniqid("")),0,4);
        echo 
'<form action="captcha.php" method="get">'.
            
'<input type="hidden" name="a" value="submit">'.
            
'<label for="code">Код подтверждения:</label>'.
            
'<input type="text" id="code" name="code" size="4" maxlength="4">'.
            
'<img align="absmiddle" src="captcha.php?a=image">'.
            
'<input type="submit" value="Go">'.
            
'</form>';
    break;
}
?>
как то так
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.