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

[2.1.x]Продвинутый код безопасности 3.1


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

Конечно понимаю, что тупо, но просто не втыкнул, так сказать :D

Версия 2.0.х

Ошибка: Смотреть

 

Все сделал. Только не понял насчет этого действия (его я сделал)

$reg_code = mt_rand(100000,999999);

у меня их два, но они не находяться в

 

(внутри функции show_reg_form($errors = ""))

Вопрос: как бороться? :)

 

P.s. Всех с Новым Годом! ;)

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

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

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

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

Люди, кто-нибудь подскажита как изменить надпись при регистрации "введите 6 цифр" на "сложите цифры". В каком файле это нужно сделать?
Ссылка на комментарий
Поделиться на других сайтах

Форум 2.1.7

При редактировании возникли вопросы :

 

 

3) Откройте sources/register.php

/------------------------------------------------------------------------/
/	  Найти (внутри функции show_reg_form($errors = array()))	/
/----------------------------------------------------------------------/

$reg_code = mt_rand(100000,999999); 

/---------------------------------/
/	Заменить			  /
/---------------------------------/

$reg_code = mt_rand(10,99)."+".mt_rand(10,99)."=";


/------------------------------------------------------------------/
/	Найти (внутри function create_account())			   /
/------------------------------------------------------------------/

if ( trim( intval($this->ipsclass->input['reg_code']) ) != $row['regcode'] )
{
$form_errors['general'][] = $this->ipsclass->lang['err_reg_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 )
{
$form_errors['general'][] = $this->ipsclass->lang['err_reg_code'];
}

 

Эта функция встречается дважды :

 

$reg_code = mt_rand(100000,999999);

 

Далее -

Этой функции не существует :

 

if ( trim( intval($this->ipsclass->input['reg_code']) ) != $row['regcode'] )
{
$form_errors['general'][] = $this->ipsclass->lang['err_reg_code'];
}

 

внутри function create_account()) имеется :

 

//-----------------------------------------
	// Check the reg_code
	//-----------------------------------------

	if ($ibforums->vars['bot_antispam'])
	{
		if ($ibforums->input['regid'] == "")
		{
			$this->show_reg_form('err_reg_code');
			return;
		}

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

		$DB->simple_exec();

		if ( ! $row = $DB->fetch_row() )
		{
			$this->show_reg_form('err_reg_code');
			return;
		}

		if ( trim( intval($ibforums->input['reg_code']) ) != $row['regcode'] )
		{
			$this->show_reg_form('err_reg_code');
			return;
		}

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

Повторяю (для точности) :

 

if ( trim( intval($ibforums->input['reg_code']) ) != $row['regcode'] )

 

Что скажете ? :D

 

ЗЫ: Тем кто ищет где редактировать надпись.

Языковые файлы нужно редактировать в

 

cache/langcache/(ваша языковая папка)

lang_register.php

lang_ucp.php

 

И те-же в папке lang/(ваша языковая папка)

 

3. а что если сделать выбор пола например по умлочанию поле пустое это первое поле в списке соответственно или надпись выберете ваш пол и бот же не сможетвыбрать мужской или женский онбудет оставлять невыбранным поле пола и этим и ловить его.

0=выберите ваш пол

m=мужской

f=женский

 

 

Я с полями сделал так ;)

 

Вы спам бот или спамер ?

1= Да

2=Нет

Ваш пол

1=У меня нет пола,-я Спамбот

2=мужской

3=женский

 

Теперь ответы спамботов выглядят как :

 

Вы спам бот или спамер ? - Да

Ваш пол - У меня нет пола,-я Спамбот

 

:)

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

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

Для автора мода:

Мод отличный, по заверениям друзей, которые его ставили, но сделай всё таки сделай нормальный мануал по установке с КОРРЕКТНЫМИ инструкциями(полностью что найти, что заменить и т.п.) и КОРРЕКТНЫМи путями до заменяемых файлов.

Ибо пользуясь имеющимся маном 3 раза стваил мод, и 3 раза форум падал.

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

Wolf Messing: имхо в мануале изложено всё доступно.

 

Знаете... Когда СТОЛЬКО людей просят исправить мануал...

Наверное стоит прислушаться..

 

 

Интересно, а можно сделать так, чтобы при регистрации, когда выбрано поле "Я спам-бот", бот сразу же улетал в спепциальную группу "Спам-боты" :D ?

 

 

Отличная идея ! ;)

А настройки группы "Спам-бот" = "Banned" :)

Думаю что нескоро ещё спамботы научатся выпадающими менюшками пользоваться и тем более выбирать там верный вариант ! :)

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

У меня 2 форума, на одном стоит этот продвинутый код безопасности. Спама нет. На другом я сделал так, как написал тут 2 страницы назад. Спама с тех пор тоже нет. Но при этом измененя форума сделаны МИНИМАЛЬНЫЕ. 2 файла - register.php, lang_register.php. В первом нужно добавить всего 4 символа, а во втором заменить одно предложение. )

 

 

Для тех кто спрашивал про lang_register.php

 

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

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

Установил мод. (Корректировал не sources/register.php a sources/action_public/register.php

(там действительно есть такие строчки)

 

Результат - картинка с примером появилась, но..... При попытке ввести результат - "Код введён неверно" Наверное или у меня или у форума плохо с математикой.

 

А всё ж таки вопрос остаётся - что делать (или не делать) с sources/register.php ???

Оставлять как есть оригинальный или тоже корректировать ?

АФФТАР ! :D Откорректируй мануал. Очень прошу от лица всех кто не понял....

 

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

Я за 2 года устанавливал не один десяток модов... а тут торможу... ;)

 

Tsykhra

 

Нет у меня такой строчки ни в sources/register.php ни в sources/action_public/register.php

Помогите пожалуйста...

Очень достали эти поганые порнушники с рекламщиками... :)

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

Начал установку...

Не нашёл файла register.php в sources...

потупит...

почитал до 5-й страницы эту тему - надоело...

подумал...

нашёл его в sources/action_admin/...

Этого не нашёл (если дословно)

 show_reg_form($errors = array()

Нашёл просто раздел show_reg_form, но поскольку

 $reg_code = mt_rand(100000,999999)

было не только там, но и ... вообщем заменил всё неглядя на

$reg_code = mt_rand(10,99)."+".mt_rand(10,99)."="

как и было указано в инструкции...

далее в разделе function create_account()

нашёл

if ( trim( intval($this->ipsclass->input['reg_code']) ) != $row['regcode'] )
{
$form_errors['general'][] = $this->ipsclass->lang['err_reg_code'];
}

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

заработало!...

я в шоке!.

 

Спасибо огромное создателю этого чуда!.

 

IPB 2.1.5

 

PS подумываю вообще о приобретении... классный форум всё же.

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

Понятно...Просто там трудно разобраться...Вот на локалку поставил да смотрю что вообще новая версия может :D...Правда багов многа, но всётаки новенькое...;)
Ссылка на комментарий
Поделиться на других сайтах

у меня ничего не идет.... как и раньше появляются простые цифры!!!! напишите полностью хелп как надо устанавливать

 

все наконец то----- люди там все правильно просто после установки нужно войти в админ панель и в системных настройках выбрать панель в настройках ---

"Включить защиту от флуда (массовых регистраций и т.д.)? " ---- из выпадающего меню выбрать Расширенный (требуется GD библиотека) ----------- вот и все работает!!!!!

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

а как вставить надпись, которая в файле обозначена переменной credits?

когда ставишь show credits = true картинка превращается в красный крестик вся целиком

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

' date='18.9.2006, 7:10' post='206097']

sources/action_public/register.php

 

Заменяем

			if ( trim( intval($this->ipsclass->input['reg_code']) ) != $row['regcode'] )
		{
			$form_errors['general'][] = $this->ipsclass->lang['err_reg_code'];
		}

на

			$tmp = $row['regcode'];	$row['regcode'] = "";
		for ($i = 0; $i < strlen($tmp); $i++) $row['regcode'] = $tmp[$i].$row['regcode'];

		if ( trim( intval($this->ipsclass->input['reg_code']) ) != $row['regcode'] )
		{
			$form_errors['general'][] = $this->ipsclass->lang['err_reg_code'];
		}

 

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

 

Если реализуешь у себя, напиши плз. о результатах

 

Реализовал на v2.1.5 за пять минут - проверил - всё работает! Респект! Только вот не знаю, насколько будет эффективно :-)

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


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

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

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