Каптча на Jquery
Каптча на Jquery
Итак. Разберём пример с register.php обыкновенного МФС версии не выше 2.2 либо сооофастовский.

Открываем его и находим внизу код вывода картинки с числом:
<img src="image.php?Resource%20id%20#81" id="code">

Собственно говоря - это и есть наша картинка. Удалим вообще весь код напоминающий о старой каптче:
<tr>
    <td width="150" align="left">&nbsp;</td>
    <td width="250" align="left"><img src="image.php?Resource%20id%20#81" id="code">
</td>

  </tr>

Его стёрли - получили страницу регистрации визуально без проверки, однако зарегистрироваться не получится (если конечно не латались по последней статье от спам-маньяка)

Едем дальше. Найдём код кнопки "Зарегистрироваться":
<input id="btn" value="Зарегистрироваться" class="submit" disabled="disabled" tabindex="4" type="submit">

Он может быть немного другим, но всё же... Перед этим кодом добавляем:
<div id="QapTcha"></div>
<script type="text/javascript">
  $(document).ready(function(){
    $('#QapTcha').QapTcha();
  });
</script>

Пол беды сделано. Теперь откроем файл header.php (в мфс blocks/head.php) и перед тегом:
</head>

Добавим:
<script type="text/javascript" src="/jquery.js"></script>
    <script type="text/javascript" src="/jquery-ui.js"></script>
    <script type="text/javascript" src="/QapTcha.jquery.js"></script>
    <script type="text/javascript">
        $('#QapTcha').QapTcha({});
    </script>

И наконец вернёмся к register.php и найдём:
 if( strtolower($_POST['code'])!= strtolower($_SESSION['texto']))
    {

Заменим на:
        if(isset($_POST['iQapTcha']) && empty($_POST['iQapTcha']) && isset($_SESSION['iQaptcha']) && $_SESSION['iQaptcha'])
        {

Ниже меняем текст: Неверно введен проверочный код... на что-нить вроде "включите javascript поддержку в браузере и не халтурьте". И в следующих буквально двух строках найдите:
include('footer.php');

Перед ним добавьте:
$_SESSION['iQpatcha'] = false;

Всё - в регистрацию мы её втулили.

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

Аналогичным в принципе образом можно прикрутить эту каптчу к заказам рекламы. А можно и прикрутить к странице сёрфа. Как это делать:
1. Открываем view.php и перед:
</head>

Добавим:
    <script type="text/javascript" src="jquery/jquery.js"></script>
    <script type="text/javascript" src="jquery/jquery-ui.js"></script>
    <script type="text/javascript" src="jquery/QapTcha.jquery.js"></script>
    <script type="text/javascript">
        $('#QapTcha').QapTcha({});
    </script>

Далее откроем success.php и найдём:

            if($res["dopsec"]=='2')
    {

Удаляем всё после этого кода до кода:
  }
    if(!isset($_GET["ds"]) or ($_GET["ds"]=='clicked' and $ver==$captcha))
    {
        $adse=$_SESSION["ad"];

Вместо удалённого воткнём примерно такое:
?><form action="vls.php?ds=clicked&view=ok">
<div id="QapTcha"></div>
<script type="text/javascript">
  $(document).ready(function(){
    $('#QapTcha').QapTcha();
  });
</script>
<input type="submit" name="getview" value="Подтвердить просмотр"></form>
<?

Теперь опустимся ниже найдём:

$ver==$captcha

заменим на:
(isset($_POST['iQapTcha']) && empty($_POST['iQapTcha']) && isset($_SESSION['iQaptcha']) && $_SESSION['iQaptcha'])

Должно получиться. Скажу честно - негде тестировать подтверждение.

В принципе всё. Читайте комментируйте. Кто знает линк на моего хряка - кормите. Хряка Влада тоже кормите, потому что нашу движуху спонсирует он smile

Не забываем качать архив с доп. файлами: Вы не можете скачивать файлы с нашего сервера (из новой папки льём в корень)

P.S. Приточно-вытяжная вентиляция помещений и квартир в Москве.


Рубрика: Бесплатное » Дополнения   |   Автор: Alex   |   Просмотры: 6431
Комментариев: 338
Публикаций: 169
ICQ: 650073308
- 291 +
  Автор: Alex   |   Группа: Пользователи   |   Дата: 13 апреля 2011  
кстати в файле QapTcha.jquery.js первые строки смотрите.там нашёл копирайт вроде ток щас) там же и текст при заблокированной/разблокированной кнопке можно поменять.
Комментариев: 738
Публикаций: 50
ICQ: --
- 4 +
  Автор: Green-wm   |   Группа: Пользователи   |   Дата: 13 апреля 2011  
Класная хрень =) Щас в коллекцию себе положу :))
Комментариев: 338
Публикаций: 169
ICQ: 650073308
- 291 +
  Автор: Alex   |   Группа: Пользователи   |   Дата: 13 апреля 2011  
Цитата: XaKeR
Класная хрень =) Щас в коллекцию себе положу :))

вот на таких как ты копипастерах причём на сайты одной тематики и строится барыжеская реальность!

P.s: заканчиваю мфс 3,выкладываю на продажу.Расписываю о нём и создаю блог свой,продаю раскрутим и открываю новый проект (подобный сар с ббольшими возможностями) и вообще убегу к себе в блог и всё)
Комментариев: 65
Публикаций: 0
ICQ: --
- 108 +
  Автор: Renaissance   |   Группа: Пользователи   |   Дата: 13 апреля 2011  
Хороший плагин. но каптча на регистрации по мне лучше, так как при регистрации всё павно заполнять форму надо
Комментариев: 240
Публикаций: 6
ICQ: 573235722
- -896 +
  Автор: VELIK505   |   Группа: Программисты   |   Дата: 13 апреля 2011  
Пол беды сделано.Теперь откроем файл header.php (в мфс blocks/head.php) и перед тегом:

</head>

Добавим:

<script type="text/javascript" src="/jquery.js"></script>
<script type="text/javascript" src="/jquery-ui.js"></script>
<script type="text/javascript" src="/QapTcha.jquery.js"></script>
<script type="text/javascript">
$('#QapTcha').QapTcha({});
</script>

Зачем сквозные скрипты впихивать? Лучше просто в register.php и впихнуть их
Комментариев: 76
Публикаций: 18
ICQ: 634377420
- 149 +
  Автор: BeerMan   |   Группа: Пользователи   |   Дата: 13 апреля 2011  
У меня чтото нифига не отобразилось
Комментариев: 738
Публикаций: 50
ICQ: --
- 4 +
  Автор: Green-wm   |   Группа: Пользователи   |   Дата: 13 апреля 2011  
Цитата: Alex
вот на таких как ты копипастерах причём на сайты одной тематики и строится барыжеская реальность!

Апупел чтоли?))) Я его на комп просто в коллекцию добавил. А ты.... recourse

Цитата: Alex
продаю раскрутим

Всё хочу спросить, а за сколько ты его продаеш?
Комментариев: 75
Публикаций: 8
ICQ: 746522
- 61 +
  Автор: jamals   |   Группа: Пользователи   |   Дата: 14 апреля 2011  
Alex,
куплю домен токо =) твоя цена какая?)))

Из за популярности) И открою там ченить)) Лохотрон какой нить wink
Комментариев: 159
Публикаций: 10
ICQ: 407464816
- 174 +
  Автор: bizze   |   Группа: V.I.P.   |   Дата: 14 апреля 2011  
Цитата: VELIK505
Зачем сквозные скрипты впихивать? Лучше просто в register.php и впихнуть их

Я тоже от этого опешил!)
Alex,
нафига на всех страницах их грузить?
Комментариев: 13
Публикаций: 1
ICQ: --
- 17 +
  Автор: nazatiran   |   Группа: Пользователи   |   Дата: 14 апреля 2011  
вчитався в статью немного непонял для чего такой код


if(isset($_POST['iQapTcha']) && empty($_POST['iQapTcha']) && isset($_SESSION['iQaptcha']) && $_SESSION['iQaptcha'])
{


читаеться так

Если существуетпеременная И несуществует(все таже) И существует сессия И Просто сессия

К чему такой непонятно замысловатый код то ?
Комментариев: 338
Публикаций: 169
ICQ: 650073308
- 291 +
  Автор: Alex   |   Группа: Пользователи   |   Дата: 14 апреля 2011  
задай впрос юсовцу,который это писал.

можно было бы обойти сь проще.
всё условие переводится как
если имеется пост запрос с каптчей И он пустой И имеется сессия с кодом И она не пустая.

короч чо то такое


Цитата: bizze
Alex,
нафига на всех страницах их грузить?

В МФС 2.2 Jquery надо подключать на всех страницах.Наши господа "дизайнеры" вернее рипперы дле шблонов не учитывают того,что в дле подключается jquery ВЕЗДЕ!Поэтому часть рипов нефункциональна в толичие от своих оригинальныхъ шаблонов.
Также многие уже используют Jquery и лишний раз подключать его если он есть в хидере не стоит.По своему опыта скажу что строки если Jquery подключёно то не вписываем.Если не подключён до добавим в самом начале моего знакомства с интернетом не несли никакого понятного мне смысла.Поэтому проще написать чтоб подключили то тега head и всё.К тому же,не зря же все советуют подключать яваскрпиты до закрытия хиад ????
Комментариев: 107
Публикаций: 2
ICQ: --
- 105 +
  Автор: ZICKFREED   |   Группа: Пользователи   |   Дата: 14 апреля 2011  
на руселе смотрел такую капчу, чёто не прёт такой движняк на буксе
с одной стороны прикольно, а с другой не особо
ну в принципе можно и компактную строку сделать и будет норм смотреться

на любителя короче
Комментариев: 9
Публикаций: 0
ICQ: --
- 4 +
  Автор: Alex777   |   Группа: Пользователи   |   Дата: 24 апреля 2011  
Чего то у меня не выводит картинку как у Алекса (((
Комментариев: 85
Публикаций: 9
ICQ: --
- 18 +
  Автор: JammJamm   |   Группа: Пользователи   |   Дата: 01 августа 2012  
Ещё бы оно работало, кссник подключите ;)

if(isset($_POST['iQapTcha']) && empty($_POST['iQapTcha']) && isset($_SESSION['iQaptcha']) && $_SESSION['iQaptcha'])
{

ну и тут явно ошибка, имхо полоска протянется, и кнопка регистрации разблокируется, далее клацаешь по кнопке регистрации и получаешь сообщение о том что у тебя не включен яваскрипт, при включеном то яваскрипте :))
Комментариев: 1
Публикаций: 0
ICQ: 636412975
- 0 +
  Автор: drimkast1   |   Группа: Пользователи   |   Дата: 28 августа 2013  
Привет всем! У МЕНЯ ничего не получается все сделал как написано но самой картинки ползунка нема. У меня движок sooofast помогите решить вопрос и я тут немного переделал не сам код скрипта, а изменил имена самых файлов от прог автокликеров, будьте добры помогите мне. К стати посмотрите мой скрипт на наличия дыр в нем. Мой адрес сайта автосерфинг за деньги
Информация

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