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

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


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

изменеия правильные, как я понял из register.php, надо вместо уже имеющегося

		//-----------------------------------------
	// Clean out anti-spam stuffy
	//-----------------------------------------

	if ($this->ipsclass->vars['bot_antispam'])
	{
		// Set a new ID for this reg request...

		$regid = md5( uniqid(microtime()) );

		if( $this->ipsclass->vars['bot_antispam'] == 'gd' )
		{
			//-----------------------------------------
			// Get 6 random chars
			//-----------------------------------------

			$reg_code = strtoupper( substr( md5($regid), 0, 6 ) );
		}
		else
		{
			//-----------------------------------------
			// Set a new 6 character numerical string
			//-----------------------------------------

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

			//$reg_code = mt_rand(100000,999999);
			$reg_code = mt_rand(10,99)."+".mt_rand(10,99)."=";
		}

сделать

		//-----------------------------------------
	// Clean out anti-spam stuffy
	//-----------------------------------------

	if ($this->ipsclass->vars['bot_antispam'])
	{
		// Set a new ID for this reg request...

		$regid = md5( uniqid(microtime()) );

		if( $this->ipsclass->vars['bot_antispam'] == 'gd' )
		{
			//-----------------------------------------
			// Get 6 random chars
			//-----------------------------------------

			//$reg_code = strtoupper( substr( md5($regid), 0, 6 ) );
			$reg_code = mt_rand(10,99)."+".mt_rand(10,99)."=";
		}
		else
		{
			//-----------------------------------------
			// Set a new 6 character numerical string
			//-----------------------------------------

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

			$reg_code = mt_rand(100000,999999);
		}

пробуем

там ацкий алгоритм шифровки кода, е-мае..

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

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

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

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

Ага, поменял заработало. Тока еще нужно обновлять картинку по щелчку, опять же нене правильно работает, либо показывает пустую картинку, либо 6и значный код. Картинка обновляется javascript функцией init_gd_image, которая вызывает do_change_img. Думаю там покапатся надо, но я явой не особо дружу.
Ссылка на комментарий
Поделиться на других сайтах

А у меня на версии 2.0.4 все время такая ошибка: Код регистрации не соответствует отображённому. Сгенерирован новый код регистрации. Повторите попытку.

Раз 20 проверял правильность установки, раз 5 устанавливал по новой. Ничего не помогло. Подскажите плиз, что не так? Мод хороший и спамеры достали.

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

А я уже устал писать чтобы ты обьяснил что это.

 

kabanera, там где заменяется второй кусок текста в register.php перед кодом:

if ( trim( $ibforums->input['reg_code'] ) != $sum_result )

поставь

echo $ibforums->input['reg_code']." - ".$sum_result;
die;

и посмотри что там будет.

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

в архиве есть картинки: arial.png, baskerville.png, georgia.png

как сделать со своим шрифтом такое же?

Ты хочешь использовать свой скрипт? Зайди на captcha.ru, скачай KCaptcha, там в пакете есть утилита для генерирования шрифтов, надеюсь разберешся.

 

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

Да, правильно. При попытке регистрации должен выводится кое какой текст и потом скрипт должен дохнуть. Ты уверен что менял текст там где надо а не в другой функции?
Ссылка на комментарий
Поделиться на других сайтах

Как вам такая доработка (мод должен быть установлен):

 

sources/action_public/register.php

 

находим
$reg_code = mt_rand(10,99)."+".mt_rand(10,99)."=";

меняем на
$reg_code = mt_rand(100000,499999) + mt_rand(100000,499999);

находим (под // Replace elements)
$this->output = str_replace( "<!--{REG.ANTISPAM}-->", $this->ipsclass->compiled_templates['skin_register']->bot_antispam_gd( $regid ), $this->output );

меняем на
$this->output = str_replace( "<!--{REG.ANTISPAM}-->", $this->ipsclass->compiled_templates['skin_register']->bot_antispam_gd( $regid, $reg_code ), $this->output );

и чуть ниже
$this->output = str_replace( "<!--{REG.ANTISPAM}-->", $this->ipsclass->compiled_templates['skin_register']->bot_antispam( $regid ), $this->output );

меняем на
$this->output = str_replace( "<!--{REG.ANTISPAM}-->", $this->ipsclass->compiled_templates['skin_register']->bot_antispam( $regid, $reg_code ), $this->output );

 

cache/skin_cache/cacheid_2/skin_register.php

 

находим
// <ips:bot_antispam_gd:desc:>

меняем всю функцию на
function bot_antispam_gd($regid="", $reg_code="") {
$IPBHTML = "";
//--starthtml--//

$IPBHTML .= <<<EOF
<br />
<input type="hidden" name="regid" value="$regid" />
<fieldset class="row3">
<legend><b>{$this->ipsclass->lang['las_title']}</b></legend>
	<table class='ipbtable' cellspacing="0">
		<tr>
			<td width="1%">
				 {$this->ipsclass->lang['las_input']}
				<input type="text" size="25" maxlength="32" name="reg_code" />
			</td>
			<td align="center"><font size=25>$reg_code</font></td>
		</tr>
	</table>
</fieldset>
EOF;

//--endhtml--//
return $IPBHTML;
}

 

 

 

Т.е. вместо защитного кода выводится результат решения уравнения. Функциональность не меняется, а пользователям не надо лезть в стол за калькулятором

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

Текст просто для регистрации и ретрива пароля один и тот же, вот так получается :) Можно сделать отдельный текстт для восстановления пароля. Просто этот текст обычно никто не читает.

 

 

 

А как? :D А то у меня читают ;)

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

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

Arhar Помогите пожалуйста! По програмной части зделал все, залил отредактировал php файлы но при регистрации ничего нету -(

 

4) В админцентре-настройках-настройках безопасности

 

ставим в графе Безопасность [защита от скриптов/ботов]

продвинутый уровень

 

Немогу найти такой опции у себя в админцентре :D Захожу в НАСТРОЙКИ -> Настройки Безопасности -> Настройки для группы: Настройки Безопасности: Вот что есть Скриншот смотрите....

 

Как быть помогите настроить пожалуйста даже если на платной основе. Спасибо

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

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

/---------------------------------/
/	  Найти 		/
/---------------------------------/

$reg_code = mt_rand(100000,999999); (внутри функции show_reg_form($errors = array()))

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

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

Можно узнать, де это находится?

В этом файле 3 строчки $reg_code = mt_rand(100000,999999);

Какую из них менять? Можно было написать более подробную инструкцию?!

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

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


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

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

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