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

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


Arhar

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

index.php?app=downloads&module=display&section=screenshot&id=379

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

Добавил: Arhar

Добавлен: 23 Фев 2007

Обновлен: 27 Апр 2007

Категория: IP.Board 2.3.x

 

Существованием своим этот мод обязан автору мода Активация путем ответа на вопросы.

Говорим спасибо Sannis.

А также отдельное спасибо Song и Garret за помощь в разработке 3 и 2 версии соответственно.

 

v3

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

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

Таким образом, чем больше у вас вопросов, тем более защищен форум.

 

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

 

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

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

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

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

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

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

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

 

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

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

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

 

 

 

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

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

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

 

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

подумаю над таким вариантом

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

Народ, делал всё по инструкци и вот что получилось... http://rap-team.ru/1.JPG

может я что не понял... плиииз помогите :D

где вопросты то прописывать ???

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

все правильно, работает

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

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

все правильно, работает

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

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

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

я почему то не соображу где это :D в безопасности?

поиск настроек сказал...

Сообщение Invision Power Board

На ваш запрос 'текущие вопросы' ничего не найдено.

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

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

 

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

 

Для случаного выбора

найти

		$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>

языковую переменную, где говорится про недостаточное количество ответов на вопросы переписать на свой вкус, что-то типа "неправильный ответ на защитный вопрос"

 

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

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

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

		$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
Ссылка на комментарий
Поделиться на других сайтах

мод работает...но как - то образно....сами вопросы есть и рега работает...

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

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

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

 

а какой вопрос задается?

50 + 25 = ? (ответ цифрой)???

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

и какое поле убрал?

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

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

 

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

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

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

 

поставил Ваш мод, следуя инструкции.

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

 

http://forum.wmeisk.ru

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

удалите мод целиком, включая таблицу с вопросами

сейчас я опубликую вторую версию

 

обновил архив

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

 

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

найти

if(!$this->correct_answer($n))

заменить на

if($this->correct_answer($n)==false)

 

с этого момента поправка уже есть в архиве (18:03 26.02.07)

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


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

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

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