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

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


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

ой, бедненький ))

ну на я тебе клёвую ссылку дам http://www.sysman.ru/index.php?showtopic=4...ost&p=71234

 

1. Заранее прошу прощения, т.к. придется пофлудить. Это сообщение после прочтения Song-ом просьба удалить.

2. Посмотрел ваш возраст, вроде не ребенок. Если Вы "IBR Forum Team" Вам все можно?

Да, я новичок в программировании, вернее я не ставлю себе целью стать программистом. Мне это не нужно (моя нынешняя специальность - сделать так, чтобы программисты садясь за комп, были им довольны, могли творить и не отвлекались по таким пустякам, как "полетел хард", "упала сетка" или чтобы в телефоне он слышал голос собеседника, а не хрипы. Про специальность, с помощью которой я заслужил пенсию, говорить не буду). Вы, я смотрю, крутой "перец" в программировании, а также в плавании (судя по вашим данным в ПМ). У меня нет никакой уверенности в том, что Вы ВСЕ НА СВЕТЕ ЗНАЕТЕ! В чем то Вы тоже не разбираетесь абсолютно. И кто-то может и над вами надсмехаться.

3. Или вы решили порекламировать тот ресурс, что в ссылке. Не знаю как Вы, а с меня по той ссылке потребовали регистрацию

4. Мог бы. конечно отправить это сообщение в ПМ, но т.к. был оскорблен публично, ответ тоже публичный.

5. И вообще, я не для того платил за лицензию, чтобы всякие там "IBR Forum Team" надсмехались!

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

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

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

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

Так как сам являюсь неэмалированным чайником, полчаса-час втыкал, перечитывая все 18 страниц. Вот подправил фак автора под свой чайниковский взгляд. Может таким же как я будет проще:

Описание для чайников (для 2.1.7 RUS):

 

Ни для кого не секрет что запрет постинга гостям не решает

проблемы спама на форумах, боты стали настолько продвинутыми что

спокойно распознают код безопасности в IPB(благо для них он совсем

простой) и даже подтверждают регистрацию по почте :D

 

Эта модификация призвана усложнить выводимый код безопасности

и тем самым усложнить его распознавания ботами. Модификация создана

при помощи проекта KCaptcha(www.captcha.ru). Изменена, доделана и

переработана специально для пользователей IPB ;)

 

Обновление(3.0):

 

Теперь вместо ввода цифр, пользователю придется вписать ответ на небольшой математический пример.

 

ВНИМАНИЕ! Если вы обновляете модификацию с предыдущих версий, не

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

 

 

Установка:

 

1) Залейте файл captcha.php в sources/lib/, а папку fonts в style_images/

 

2) Откройте sources/ipsclass.php:

 

/---------------------------------/

/ Найти /

/---------------------------------/

 

 

function show_gd_img($content="")

{

 

// Здесь содержимое функция

 

}

 

 

/----------------------------------------------/

/ Заменить все содержимое функции! /

/----------------------------------------------/

 

require_once( ROOT_PATH.'sources/lib/captcha.php' );

$captcha = new KCAPTCHA($content, ROOT_PATH."style_images/fonts");

exit();

 

 

//Примечание: если вы поместили папку шрифтов не в style_images, то

//укажите свою директорию.

 

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

 

/---------------------------------/

/ Найти /

/---------------------------------/

 

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

 

/---------------------------------/

/ Заменить /

/---------------------------------/

 

$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'];

}

 

 

Установка мода завершена.

 

 

После установки - в админке:

Настройки Безопасности - Настройки - Безопасность (защита от скриптов/ботов)

выставляем "Расширенный (требуется GD библиотека)"

 

Теперь меняем текст с сообщением рядом с кодом "Введите защитный код Введите в поле 6 цифр, отображенных в виде изображения."

Находим этот текст в файле cache/lang_cache/ru/register.php и меняем на "Введите решение математического примера который вы видите на картинке."

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

А я поставил.. тока вместо матиматического примера у меня просто цифры такого же типа как на скриншоте, а не стандартные черные, это так надо?

поменял в админке на "гд эдванс"

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

Правильно она стоит, но где captcha с решением неравенства, там стоит с цифрами и буквами...
Ссылка на комментарий
Поделиться на других сайтах

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

Извените что не прочитал весь топик, прочитал лишь первые 13 страниц (стоит почистить), но описание моей проблемы не встретил. короче у меня не показывает пример, т.е. например 33+25= а показывает 6 цыфр.

все сделал как стоит в описании и в этом топике

 

и

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'];
}

 

в /sources/action_public/register.php в function create_account())

 

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

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

if ( trim( intval($this->ipsclass->input['reg_code']) ) != $row['regcode'] )
Такая должна быть только один раз.

 

TODO: Ввести еще некоторые математические операции.

ты 2,1,7 версию видел когданибудь?

там строка :

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

повторяется три раза!

У меня вообще все поставил сейчас пишет Включите эту картинку

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

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

что-то я не понял вопрос, т.е. ответ :D

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

ты 2,1,7 версию видел когданибудь?
Да, под ней как раз и делал для 2.1.х. Может ты читать научишся?

Сделал всё по инструкции, получилась вот такая хрень:

51{Включите эту картинку}42
 {Включите эту картинку}

 

В чём собственно дело? -)

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

хороший мод, спасибо

но хрумер уже частично распознает

 

2Destruction

включи "продвинутый код безопасности" в админке, в общих настройках

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

прежде всего в инструкции ошибка

для 2.1.х

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

 

нет такого, есть

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

 

ну да ладно, но вместо знака + и знака = висит Включите эту картинку

 

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

идем в админку-настройки-настройки безопасности

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

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

 

автор, внесите обязательно изменения в инструкцию, т.к. мод рабочий

 

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

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

у меня форум Invision Power Board v2.1.5

в файле register.php вообще по поиску ненаходит:

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

$reg_code = mt_rand(100000,999999); (внутри функции [color=#990000]show_reg_form($errors = array()))[/color]

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

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

этого просто нет show_reg_form($errors = array()))

точно так же как и следующего шага

function create_account())

 

как быть?

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

этого просто нет show_reg_form($errors = array()))

точно так же как и следующего шага

function create_account())

 

как быть?

да мануал конечно... :D

в 2.1.х по-другому чуток, ищи вот это:

/*-------------------------------------------------------------------------*/
// show_reg_form
/*-------------------------------------------------------------------------*/   

function show_reg_form($form_errors = array())

 

а в ней уже то, что нужно заменить...

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


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

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

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