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

Как добавить капчу в ответ?


Вопрос

Добрый день!

Есть форум, написан на IPB v2.3.6

Нужно к ответу и Быстрому ответу на форуме прикрутить любую капчу. Это есть где-то по дефолту или надо самой дописывать?

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

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

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

  • 0

дописывать

лучше action_public/post.php

 

    $this->han_post->obj['action_codes'] = array ( '00'  => array( '0'  , 'new'	 ),
		    '01'  => array( '1'  , 'new'	 ),
		    '02'  => array( '0'  , 'reply'   ),
		    '03'  => array( '1'  , 'reply'   ),
		    '08'  => array( '0'  , 'edit'    ),
		    '09'  => array( '1'  , 'edit'    ),
		    '10'  => array( '0'  , 'poll'		 ),
		    '11'  => array( '1'  , 'poll'		 ),
		    '14'  => array( '0'  , 'poll_after'   ),
		    '15'  => array( '1'  , 'poll_after'   ),
		  );
 $answering=false;
 if($this->han_post->obj['action_codes'][ $this->ipsclass->input['CODE'] ][0] )
 {
  $answering=true;
 }
 if (!intval($this->ipsclass->member['id']) and $answering)
 {
  if ( $this->ipsclass->input['bid'] == "" )
  {
   $this->ipsclass->Error( array( LEVEL => 1, MSG => 'missing_code') );
  }

  $this->ipsclass->DB->simple_construct( array( 'select' => '*',
		    'from'   => 'reg_antispam',
		    'where'  => "regid='".trim(addslashes($this->ipsclass->input['bid']))."'"
		 )	  );

  $this->ipsclass->DB->simple_exec();

  if ( ! $row = $this->ipsclass->DB->fetch_row() )
  {
   $this->ipsclass->Error( array( LEVEL => 1, MSG => 'missing_code') );
  }

  $code = $row['regcode'];
  $code_array = array();
  $code_array = explode("+", $code);
  $sum_result = intval($code_array[0]) + intval(substr($code_array[1], 0, strlen($code_array[1])-1));
  if ( trim( $this->ipsclass->input['reg_code'] ) != $sum_result )
  {
   $this->ipsclass->Error( array( LEVEL => 1, MSG => 'error_code') );
  }

  $this->ipsclass->DB->simple_exec_query( array( 'delete' => 'reg_antispam', 'where' => "regid='".trim(addslashes($this->ipsclass->input['bid']))."'" ) );
 } 

 

это на основе мат.примера xx+xx=

 

ну и

action_public/topics.php

$antibot="";
  if (!intval($this->ipsclass->member['id']) and !$this->ipsclass->is_bot)
  {
   $bid = md5( uniqid(microtime()) );

   // Set a new 6 character numerical string

   mt_srand ((double) microtime() * 1000000);

   $b_code = mt_rand(10,99)."+".mt_rand(10,99)."=";   
   $this->ipsclass->DB->do_insert( 'reg_antispam', array ( 'regid'	  => $bid,
	   'regcode'    => $b_code,
	   'ip_address' => $this->ipsclass->input['IP_ADDRESS'],
	   'ctime'	  => time(),
	   )	   );
   $this->ipsclass->load_language('lang_register');
   $antibot = $this->ipsclass->compiled_templates['skin_topic']->post_bot_defence($bid);
  }

для быстрого ответа

 

и вообще, мне лень искать

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

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

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

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