Чтение RSS
По вопросам сотрудничества и рекламы на портале MixliP, обращаться на почту admin@turklib.ru
MixliP - Территория вебмастера! На нашем сайте вы найдете все для веб-мастеров и не только =) ! Различные скрипты для вашего сайта. И еще на нашем сайте немало софта! Заходи не пожалеешь!

Как установить капчу на сайт "Хайп"

Как установить капчу на сайт "Хайп"


Доброго и удачного всем дня! Сегодня я хочу рассказать о том как установить капчу на сайт. Но сначала о том, что же это такое - капча.

Captcha от английского completely automated public Turing test to tell computers and humans apart — полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей. Капча используется для того, чтобы определить, кем является пользователь системы: человеком или компьютером. Основная идея заключается в том, чтобы предложить пользователю такую задачу, которую с лёгкостью может решить человек, но которую несоизмеримо сложнее решить компьютеру. В основном это задачи на распознавание символов.

Captcha чаще всего используется при необходимости предотвратить использование интернет-сервисов ботами, в частности, для предотвращения автоматических отправок сообщений, регистрации, скачивания файлов, массовых рассылок и т. п. В Рунете этот термин воспроизводится как капча.

Обычно captcha выглядит как тем или иным образом зашумленное случайное число, слово или иная надпись, которую пользователю нужно прочитать и ввести прочитанный результат.

Я хочу привести вам пример простого скрипта, который с небольшими изменениями можно установить практически на любой сайт.

Он состоит всего из трех небольших файлов:
index.php
handler.php
img.php


index.php

index.php - файл, в котором вначале запускается сессия, генерируется уникальный идентификатор сессии, и сохраняется в переменной.




Затем в нем случайным образом формируется строка из буквенно-цифровых символов, которая будет фигурировать на картинке капчи.

А еще в нем находится сама форма отправки, в которой выводится рисунок - капча, которая содержит сгенерированную последовательность символов - за это отвечает файл img.php.

Обработчиком формы, то есть программой которая принимает и обрабатывает отправленные данные, является файл handler.php.
<? 
   session_start();
  // набор символов 
  $alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; 
  $secret = ""; 
  // формируем строку из 5 символов, которая будет отображаться на картинке 
  for($i=0;$i<5;$i++) 
    $secret.= $alpha[rand(0,strlen($alpha)-1)]; 

  // генерируем новый SESSIONID для того, чтобы при 
  // перезагрузке страницы старая сессия затиралась 
  session_id(md5(microtime()*rand()));  
  // сохраняем сгенерированную строку в переменной сессии 
  $_SESSION['secret'] = $secret; 
?> 
<form action="handler.php" method="post"> 
  Имя : <input type="text" name="name"> 
  Пароль : <input type="text" name="pass"> 
  Число на картинке : <input type="text" name="secret"> 
  <input type="submit" name="send" value="Отправить"> 
</form> 
<img src="img.php?sid=<?=session_id();?>">



handler.php

handler.php - в начале запускается механизм сессии, затем проверяется соответствуют ли введенные данные сгенерированной последовательности сиволов и если это так, то выводятся значения имени и пароля введенные в форму отправки. В противном случае выводится сообщение о неверном в воде символов.
<?php 
  session_start(); 

  if($_POST['secret'] == $_SESSION['secret']) 
  { 
    echo "Имя - $_POST[name] "; 
    echo "Пароль - $_POST[pass] "; 
  } 
  else 
  { 
    echo "Вы неверно ввели число на картинке!"; 
  } 
?>


img.php

img.php - в первую очередь стартуем сессию с полученным идентификатором сессии. Затем создаем картинку с указанными размерами. Задаем цвет фона, текста и линий, которые усложнят задачу распознавания. А указывая image/gif content-type с помощью header(), мы говорим скрипту отправить GIF-изображение прямо в браузер.
<? 
  // стартуем сессию с полученным SESSIONID 
  session_id($_GET['sid']); 
  session_start(); 
  // создаем картинку: 
  $im = imagecreate(80,31); 
  // серый фон фон... 
  imageColorAllocate($im,246,246,246); 
  // ... с синим: 
  $textcolor = imageColorAllocate($im,0,0,255); 
  // ... текстом 
  $line = imageColorAllocate($im,255,0,0);
  imagestring($im,20,20,10,$_SESSION['secret'],$textcolor); 
  // ... и красными линиями, 
  // которые усложнят задачу "распознавания" <p></p>
  // картинки в автоматическом режиме 
  $line = imageColorAllocate($im,255,0,0);
  imageline($im,20,0,80,31,$line); 
  imageline($im,0,10,50,0,$line); 
  imageline($im,90,5,40,31,$line); 
  imageline($im,0,31,70,0,$line); 
  // выводим изображение в браузер
  imageGif($im); 
  header("Content-Type: image/gif"); 
?>


Ну а в итоге, при запуске этого скрипта, у вас должно получится следующее:

Как установить капчу на сайт "Хайп"

В интернете можно найти достаточно сервисов как для генерации капчи, так и для автоматического ее распознования. И нужно отчетливо понимать что 100% гарантии этот метод конечное же не дает. Но тем не менее это проверенный временем и практикой способ, который своей эффективностью доказал право на существование.
Просмотры: 3176 Комментарии (3)
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

KARWAR

  • 28 декабря 2013 01:17
  • Регистрация: 6.10.2013
  • ICQ:
  • Комментариев :12
  • 3
Спасибо! Это я и искал, попробую

Файлы никакие качать не нужно? Только сделать как в статье?


timurka19971

  • 28 декабря 2013 21:18
  • Регистрация: 25.10.2013
  • ICQ:
  • Комментариев :41
  • 21
Цитата: KARWAR
Спасибо! Это я и искал, попробую

Файлы никакие качать не нужно? Только сделать как в статье?

нет!


serega

  • 10 января 2014 14:23
  • Регистрация: --
  • ICQ:
  • Комментариев :0
  • 0
как установить


Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Владельцы и пользователи сайта MixliP.ru не осуществляют никакой продажи либо перепродажи программных и иных продуктов интеллектуальной собственности. На нашем сайте не хранится ни одного файла или документа, который нарушал бы смежное или авторское право.


Сайт MixliP.ru представляет собой набор новостей и ссылок на внешние общедоступные источники в сети Интернет, не подконтрольные администрации сайта MixliP.ru, а, следовательно, не несет никакой ответственности за их содержание.


Вся информация о программном обеспечении и скриптах, размещенная на данном сайте, предоставлена исключительно в ознакомительных целях и только для просмотра, и призвана помочь посетителям сайта MixliP.ru выбрать для себя и в последствии приобрести соответствующие лицензионные авторские программные продукты.


Читать полностью информацию правообладателям.




Наши друзья

Полезное

Разделы сайта

 Пользователи онлайн

  • Всего на сайте: 5
    Пользователей: 0
    Гостей: 5
    Роботов: 0