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

[2.3.x]Защита от ботов: вопросы при регистрации v3


Arhar

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

Добрый день.

 

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

 

Для успешной работы необходимо придумать хотя бы один вопрос и ответ на него
.

 

 

Собственно непонятно, где этот самый вопрос придумывать, и где вписывать на него ответ. Инструкция умалчивает.

 

 

Заранее спасибо.

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

  • Ответы 823
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Поставил у себя на локальной версии 2.3.6.

Все получилось. Спасибо за мод и за подробную видео-инструкцию.

 

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

 

По инструкции в настройках безопасности вы отключаете каптчу.

Если я ее отключаю, все нормально.

То есть вы ее отключили из-за ненадобности?

 

И еще: если кому не жалко, скиньте пожалуйста в ПМ хотя бы несколько вопросов, которые вы используете у себя.

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

Благодарю!

 

А как быть с иностранцами?

Не планируете ли реализовать вывод/ввод вопросов/ответов на английском языке?

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

Поставил мод на версию 2.3.6. обратил внимание что регистрация, а также ответ в топиках гостям проходит со второго раза.

То-есть, при регистрации пользователь вводит ответ на вопрос, и получает ошибку что ответ не верный. Вводит этот-же ответ второй раз и все проходит нормально.

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

У меня вопрос о данном моде: я его установил, в точности следовал инструкциям и ничего нигде не пропускал, но при регистрации все-же появляется ошибка: Ошибка при работе с базой данных. что подразумевается под этой ошибкой? Как выяснить, где была допущена ошибка?
Ссылка на комментарий
Поделиться на других сайтах

Поставил мод на версию 2.3.6. обратил внимание что регистрация, а также ответ в топиках гостям проходит со второго раза.

То-есть, при регистрации пользователь вводит ответ на вопрос, и получает ошибку что ответ не верный. Вводит этот-же ответ второй раз и все проходит нормально.

Повторяю еща раз :D

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

ставил криво, у всех работает, ставь заново

Проверял несколько раз. Сделано все как в ридми описано.

А на счет того что у всех работает ,а у меня нет, вот пример http://www.ibresource.ru/forums/index.php?...st&p=339892

у всех капча работает , а у меня не отображается. На что получен ответ что данная проблемма отправлена разработчикам.

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

На что получен ответ что данная проблемма отправлена разработчикам.

Это в КЦ так ответили? :D

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

Это в КЦ так ответили? :D

Полный ответ

Ответ:

Здравствуйте.

 

Это проблема стандартного форума, мы сообщим разработчикам.

 

--

С уважением, Анна

Технический специалист ООО «АйБиРесурс»

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

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

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

Вот такая ошибка апри переходе к форме регистрации:

Fatal error: Call to undefined method ipsclass::generate_qinputf() in /home/.../.../.../public_html/sources/action_public/register.php on line 1469

Вот кусок кода, с выделенной жирным злополучной строкой 1469:

//-----------------------------------------

// Custom profile fields stuff

//-----------------------------------------

 

$required_output = "";

$optional_output = "";

 

require_once( ROOT_PATH.'sources/classes/class_custom_fields.php' );

$fields = new custom_fields( $this->ipsclass->DB );

 

$fields->cache_data = $this->ipsclass->cache['profilefields'];

 

$fields->init_data();

$fields->parse_to_register();

 

foreach( $fields->out_fields as $id => $data )

{

$error = "";

 

if ( $fields->cache_data[ $id ]['pf_not_null'] == 1 )

{

$ftype = 'required_output';

}

else

{

$ftype = 'optional_output';

}

 

if( isset($form_errors['cfield_'.$id]) AND count( $form_errors['cfield_'.$id] ) )

{

$error = implode( "<br />", $form_errors['cfield_'.$id] );

}

 

if ( $fields->cache_data[ $id ]['pf_type'] == 'drop' )

{

$form_element = $this->ipsclass->compiled_templates['skin_register']->field_dropdown( 'field_'.$id, $data, $error );

}

else if ( $fields->cache_data[ $id ]['pf_type'] == 'area' )

{

$data = $this->ipsclass->input['field_'.$id] ? $this->ipsclass->input['field_'.$id] : $data;

$form_element = $this->ipsclass->compiled_templates['skin_register']->field_textarea( 'field_'.$id, $data, $error );

}

else

{

$data = isset($this->ipsclass->input['field_'.$id]) ? $this->ipsclass->input['field_'.$id] : $data;

$form_element = $this->ipsclass->compiled_templates['skin_register']->field_textinput( 'field_'.$id, $data, $error );

}

 

${$ftype} .= $this->ipsclass->compiled_templates['skin_register']->field_entry( $fields->field_names[ $id ], $fields->field_desc[ $id ], $form_element, $id, $error );

}

 

$this->page_title = $this->ipsclass->lang['registration_form'];

$this->nav = array( $this->ipsclass->lang['registration_form'] );

Всё что мог попробовал а ошибка не устраняется.

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

инструкцию надо читать и выполнять целиком

пункт про ipsclass.php что говорит?

для крайних случаев есть видео

 

+ где ты в этой строчке видишь generate_qinputf()

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

Дошла и до меня волна спамботов. Скачал этот мод, читаю инструкцию по установке и мне не совсем понятен пункт 9.

---

Редактировать входящие переменные:

Найти: $key=""

Добавить: ,$form=""

Найти:

<form name="REPLIER" action="{ipb.script_url}" method="post" onsubmit='return ValidateForm()'>

<input type="hidden" name="act" value="Post" />

<input type="hidden" name="CODE" value="03" />

<input type="hidden" name="f" value="$fid" />

<input type="hidden" name="t" value="$tid" />

<input type="hidden" name="st" value="{ipb.input['st']}" />

<input type="hidden" name="auth_key" value="$key" />

<input type="hidden" name="fast_reply_used" value="1" />

Добавить ниже:

{$form}

---

Что тут делать?

Просто после последней строки <input type="hidden" name="fast_reply_used" value="1" />

добавить строку {$form} ? Чтобы было вот так?

---

...

<input type="hidden" name="fast_reply_used" value="1" />

{$form}

---

Или как-то иначе?

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

У меня этот мод одно время был установлен на форуме, потом я от него отказался, т.к. новая каптча в очередном релизе мне показалась достаточно хорошей защитой. И долгое время все было хорошо, боты иногда регистрировались, но редко, и раз в пару месяцев прибить бота было вполне терпимой ситуацией. Но недавно появилась волна ботов, которые слали всякий спам в ПМ, несколько штук за пару дней. И этот мод был опять включен.

 

Так что, пользуясь случаем, хочу сказать автору мода - спасибо!

 

НО!

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

 

Суть проблемы - при генерации каждой страницы, содержащей защитный вопрос по ходу дела всегда генерируется новый qinputf. Вроде-бы все хорошо, так и надо, и нефиг статичные имена полей в форму ответа вставлять. Но тут то и кроется корень проблемы. При достаточно большой активности на форуме запросто возникает ситуация, что пока один человек заполняет форму ответа, другой заходит по тому же url-у (или на любую другую страницу с защитным вопросом), и при этом генерируется новый qinputf. В результате - когда первый оканчивает заполнять форму, и жмет на кнопку отправки - проверка ответа на защитный вопрос у него естественно заканчивается неудачей, т.к. пресловутый qinputf в таблице вопросов давно уже поменялся.

 

Думаю, что в этом причина проблем у большинства тех, кто в этой теме писал посты вроде "установил все по инструкции, но у меня не работает" (если, конечно, ошибок при установке не было))), или "у меня правильный ответ воспринимает только со второго раза".

 

Я пока у себя проблему решил "в лоб" - поправил немного код, отключив постоянную генерацию нового qinputf. Надо будет на досуге подумать над более правильным решением - через сессии пользователей. А здесь пишу для того, чтобы автор учел эту проблему в следующей версии мода, если таковая вообще планируется, ну и для информации тем, кто столкнулся с той же проблемой, что и у меня.

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

хорошее замечание

имя поля наверно имеет смысл задать статичным - это извращение не нужно

подумаю над апгрейдом может

 

поскольку думаю над апгрейдом - буду слушать ваши предложения

поскольку опыт несоизмеримо вырос, возможно использование его

желающие могут ознакомиться с возможностью мода release wizard по созданию полей

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


×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.