Перейти к содержимому


Фотография

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

Форумы IBResource

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 823
Arhar
  • Команда форума
  • Cообщений: 5 631

Отправлено

http://forums.ibresource.ru/index.php?app=downloads&module=display§ion=screenshot&id=379

Название: Защита от ботов: вопросы при регистрации v3
Добавил: Arhar
Добавлен: 23 Фев 2007
Обновлен: 27 Апр 2007
Категория: IP.Board 2.3.x

Существованием своим этот мод обязан автору мода Активация путем ответа на вопросы.
Говорим спасибо Sannis.
А также отдельное спасибо Song и Garret за помощь в разработке 3 и 2 версии соответственно.

v3
Добавляется еще одна обязательная секция при регистрации, а также при ответе или создании темы у гостя, если это разрешено в разделе, в которой админ сам сможет сформулировать свои уникальные вопросы.
Будет выбран один вопрос случайным образом, ответ на который будет обязательным условием для регистрации нового пользователя или ответа/темы гостя.
Таким образом, чем больше у вас вопросов, тем более защищен форум.

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

Нажмите здесь, чтобы скачать файл

BrokenMirror
  • Участники
  • Cообщений: 4

Отправлено

Супер мод... Я использую его так: "Введите числами восемьтысячдевятсоттридцатьдва" Соответственно ответ - 8932... А как сделать, чтобы если человек не увидел выкидывалась подсказка, типа: "Раз ты такой тупой, я скажу тебе ответ - 8932"???

Hugo Weaving
  • Участники
  • Cообщений: 758
  • http://forum.lofors.com
  • Город:Не скажу:)
  • Интересы:Всякое-разное...

Отправлено

BrokenMirror,
а ты заранее пиши сверху :D

Arhar
  • Команда форума
  • Cообщений: 5 631

Отправлено

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

jersy
  • Участники
  • Cообщений: 5

Отправлено

а как выполнить запрос у меня вот такая бадяга как решить делал как и написно

mySQL query error: SELECT id, question FROM ibf_questions ORDER BY id

SQL error: Table '1gb_livni.ibf_questions' doesn't exist
SQL error code:
Date: 23.2.2007, 20:25

Arhar
  • Команда форума
  • Cообщений: 5 631

Отправлено

выполнить запрос нужно обязательно в разделе Утилита SQL в админке

jersy
  • Участники
  • Cообщений: 5

Отправлено

спасибо заработало обплденная прога спасибо автору



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

EasyBot
  • Участники
  • Cообщений: 311
  • http://lastlider.ru

Отправлено

Можно убрать учитывание регистра, добавив strtolower :D

Arhar
  • Команда форума
  • Cообщений: 5 631

Отправлено

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

насчет чередования, типа случайный выбор?
подумаю над таким вариантом

Kamikadze1
  • Участники
  • Cообщений: 145
  • http://

Отправлено

Народ, делал всё по инструкци и вот что получилось... http://rap-team.ru/1.JPG
может я что не понял... плиииз помогите :D
где вопросты то прописывать ???

Arhar
  • Команда форума
  • Cообщений: 5 631

Отправлено

все правильно, работает
надо обязательно один вопрос-ответ создать в админке - сразу слева внизу будет "Модуль вопросов"

Kamikadze1
  • Участники
  • Cообщений: 145
  • http://

Отправлено

Спасибо за помощь :D

Камушкин
  • Участники
  • Cообщений: 87

Отправлено

все правильно, работает
надо обязательно один вопрос-ответ создать в админке - сразу слева внизу будет "Модуль вопросов"

простите за тупость а как это добавить? :D вопрос-ответ?

Arhar
  • Команда форума
  • Cообщений: 5 631

Отправлено

ну по идее должна быть такая картинка:
http://img237.imageshack.us/img237/7419/questionsxw5.jpg
там вроде все понятно

Камушкин
  • Участники
  • Cообщений: 87

Отправлено

я почему то не соображу где это :D в безопасности?
поиск настроек сказал...
Сообщение Invision Power Board
На ваш запрос 'текущие вопросы' ничего не найдено.

Arhar
  • Команда форума
  • Cообщений: 5 631

Отправлено

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

КАКОЙ ПОИСК НАСТРОЕК, это в админке - сразу слева внизу будет "Модуль вопросов"

Для случаного выбора
найти
$this->ipsclass->DB->simple_construct( array( 'select' => 'id, question',
									   'from'   => 'questions',
									   'order'  => 'id'
							  )	  );
		 $this->ipsclass->DB->simple_exec();
заменить на
$this->ipsclass->DB->query("SELECT MAX(id) as new_id FROM ibf_questions");
		$qrow = $this->ipsclass->DB->fetch_row();
		$qidmax = $qrow['new_id'];
		$qid = rand(1,$qidmax);
		$this->ipsclass->DB->simple_construct( array( 'select' => 'id, question',
									   'from'   => 'questions',
									  'where'  => 'id='.$qid,
									   'order'  => 'id'
							  )	  );
		 $this->ipsclass->DB->simple_exec();
и удалить кусок кода
<tr>
								<td width=\"100%\" colspan=\"2\">Для успешной регистрации необходимо ответить на ".$this->ipsclass->vars['questions_num']." вопрос(ов)</td>
							</tr>
языковую переменную, где говорится про недостаточное количество ответов на вопросы переписать на свой вкус, что-то типа "неправильный ответ на защитный вопрос"

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

Камушкин
  • Участники
  • Cообщений: 87

Отправлено

я все сделал по инструкции :D
но где вопросы вписать не пойму..простите за тупость..праздник был)

Arhar
  • Команда форума
  • Cообщений: 5 631

Отправлено

КАКОЙ ПОИСК НАСТРОЕК, это в админке - сразу слева внизу будет "Модуль вопросов"

Sannis
  • Команда форума
  • Cообщений: 11 877
  • http://sannis.ru
  • Город:Москва
  • Интересы:Фотография, физика, высокопроизводительные системы, прикладное программирование, спортивный туризм.

Отправлено

Для случайного выбора заменить на

$this->ipsclass->DB->query("SELECT MAX(id) as new_id FROM ibf_questions");
		$qrow = $this->ipsclass->DB->fetch_row();
		$qidmax = $qrow['new_id'];
		$qid = rand(1,$qidmax);
		$this->ipsclass->DB->simple_construct( array( 'select' => 'id, question',
									   'from'   => 'questions',
									  'where'  => 'id='.$qid,
									   'order'  => 'id'
							  )	  );
		 $this->ipsclass->DB->simple_exec();

Предупреждение админам: не удаляйте вопросы! Иначе лажа может получиться. Если нужно, то редактируйте уже имеющиеся. ИМХО.

Моё решение проблемы:

$this->ipsclass->DB->query("SELECT MAX(id) as new_id FROM ibf_questions");
		$qrow = $this->ipsclass->DB->fetch_row();
		$qidmax = $qrow['new_id'];
		do{
					 $qid = rand(1,$qidmax);
					 $this->ipsclass->DB->simple_construct( array( 'select' => 'id, question',
											 	   'from'   => 'questions',
											 	  'where'  => 'id='.$qid,
											 	   'order'  => 'id'
								 		  )	  );
					  $this->ipsclass->DB->simple_exec();
		 }while(!$this->ipsclass->DB->get_num_rows());

Сообщение отредактировал Sannis: 24 Февраль 2007 - 19:58


WARfromTEARS
  • Участники
  • Cообщений: 218
  • http://www.filial-club.com

Отправлено

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




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных