Перейти к контенту

Защита от регистрации ботов


Рекомендуемые сообщения

позадаем ботам вопросы ? существует подобная мода под версии 2.х

 

для младших версий, кто упорно не хочет с них слезать

 

Смотрим

 

для тех кто не знает, для скачивания мода нужно пройти регистрацию на изе

 

Что получилось

 

далее в файле skin_register

 

function humanvbot($hvbquestion,$hvbhint) {
global $ibforums;
return <<<EOF
<table width='100%'><tr>
<td class="row1" width='40%'>{$ibforums->lang['hvb_title']}<br />
{$ibforums->lang['hvb_hint']}{$hvbhint}<br />
{$hvbquestion}</td>
<td class="row1"><input type='text' size='32' maxlength='32 name='hvbanswer' class='forminput'></td>
</tr></table>
EOF;
}

 

почему <table> ? не знаю, можете не добавлять, у меня в первоначальном виде покорежило структуру форума, ну и я сократил одно поле перенеся в файл lang. добавлены классы которые соответствуют стилю моего форума

 

в аттаче инсталятор мода с вопросами на русском языке, кто доведет до ума, т.е. сделает интерфейс админки, тому большое спасибо :D

botregblock_install.php

Ссылка на комментарий
Поделиться на других сайтах

  • 1 год спустя...

А есть такой мод для 1.3 версии ?

Жаваскритп не нравится, хочу и люблю вопросы :D

Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...

У меня не работает
Выдает ошибку Fatal error: Call to undefined method: skin_register->humanvbot() in /home/doc/remrai.ru/docs/site/sources/Register.php on line 655
Линия

$this->output = str_replace( "<!--{HUMANVBOT}-->", $this->html->humanvbot($hvbrow['question'],$hvbrow['hint']), $this->output );
И вот этого не могу понять, что это нужно сделать
Go into AdminCP > Skins & Templates > HTML Templates
Under Template Tools select "Resynchronise the database templates FROM the PHP skin files"
select your default skin in the other dropdown and click Run Tool
Может проблема из за этого Изменено пользователем Док
Ссылка на комментарий
Поделиться на других сайтах

Не долго мучался, все получилось :D

 

А не кто не может подсказать, как сделать блоком это поле

как на скрине выше этого поля блок подтверждения кода

Такой же сделать и по вопросам

post-70672-1253179733_thumb.png

Ссылка на комментарий
Поделиться на других сайтах

Поседев еще немного, что то соорудил, но не знаю, правильно или нет

Но вроде блок получился

 

function humanvbot($hvbquestion,$hvbhint) {
global $ibforums;
return <<<EOF
<br />
<div class="tableborder">
<table width='100%'><tr>
<div class="pformstrip">{$ibforums->lang['hvb_title']}{$ibforums->lang['hvb_text']}</div>
  <td class="row1" width='40%'>{$ibforums->lang['hvb_hint']}{$hvbhint}<br />{$hvbquestion}<br />
<td class="row1"><input type='text' name='hvbanswer' size='30'></td>
</tr></table></div>
EOF;
}

 

Если кто подскажет что в этом коде не правильно, то буду признателен

Изменено пользователем Док
Ссылка на комментарий
Поделиться на других сайтах