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

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


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

Тебе пересадить часть своего мозга? :D

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

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

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

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

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

ну значит и я сейчас на пересадку мозгов попаду ....

Garret - не ругайся !!! можно может как то показать наглядно с заменой ...я и в правду был на той 5той странице ..и ничерта не понял .... и тоже пошёл покупать себе учебник по PHP :D ? может давай я покажу свой файл и ты просто покажешь как наглядно это меняеться ???

 

/*-------------------------------------------------------------------------*/
//
// Show GD created security image...
//
/*-------------------------------------------------------------------------*/

/**
* Show anti-spam bot GD image numbers
*
* @param	string	Number string
* @return	void
* @since	2.0
*/
function show_gd_img($content="")
{
	$content = '  '. preg_replace( "/(\w)/", "\\1 ", $content ) .' ';

	@header("Content-Type: image/jpeg");

	$tmp_x = 140;
	$tmp_y = 20;

	$image_x = 210;
	$image_y = 65;

	$circles = 3;

	if ( $this->vars['gd_version'] == 1 )
	{
		$tmp = imagecreate($tmp_x, $tmp_y);
		$im  = imagecreate($image_x, $image_y);
	}
	else
	{
		$tmp = imagecreatetruecolor($tmp_x, $tmp_y);
		$im  = imagecreatetruecolor($image_x, $image_y);
	}

	$white  = ImageColorAllocate($tmp, 255, 255, 255);
	$black  = ImageColorAllocate($tmp, 0, 0, 0);
	$grey   = ImageColorAllocate($tmp, 210, 210, 210 );

	imagefill($tmp, 0, 0, $white);

	for ( $i = 1; $i <= $circles; $i++ )
	{
		$values = array(
						0  => rand(0, $tmp_x - 10),
						1  => rand(0, $tmp_y - 3),
						2  => rand(0, $tmp_x - 10),
						3  => rand(0, $tmp_y - 3),
						4  => rand(0, $tmp_x - 10),
						5  => rand(0, $tmp_y - 3),
						6  => rand(0, $tmp_x - 10),
						7  => rand(0, $tmp_y - 3),
						8  => rand(0, $tmp_x - 10),
						9  => rand(0, $tmp_y - 3),
						10 => rand(0, $tmp_x - 10),
						11 => rand(0, $tmp_y - 3),
					 );

		$randomcolor = imagecolorallocate( $tmp, rand(100,255), rand(100,255),rand(100,255) );
		imagefilledpolygon($tmp, $values, 6, $randomcolor );
	}

	imagestring($tmp, 5, 0, 2, $content, $black);
	//-----------------------------------------
	// Distort by resizing
	//-----------------------------------------

 

это наглядно будет и уже без лишних а КАК??? я прошу без обид и толкания... и без подзатыльников...

так оно будет точно и уже в последний раз!!!

 

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


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, то
//укажите свою директорию.

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

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

Garret ты потише с высказываниями, за базаром своим следи мальчик. Если помочь не можешь, то и не пише вообще, а не кидайся тут выражениями, потому что с тобой могу по-другому поговорить...

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

mamayka, приеденный тобой код содержит только часть функции, поэтому удалять нужно больше :D

 

если на пальцах, то так наверное будет проще:

1. Ищем function show_gd_img($content="")

2. Находим в строке 1056 (!!!Только предположение, у Вас номер будет отличаться)

3. Ищем следующее, после строки 1056 (!!!Только предположение, у Вас номер будет отличаться), слово function

4. Находим в строке 1380 (!!!Только предположение, у Вас номер будет отличаться)

5. Удаляем все, начиная со строки 1056 (!!!Только предположение, у Вас номер будет отличаться) и до 1379 (!!!Только предположение, у Вас номер будет отличаться)

6. Вставляем нужный нам код в строку 1056 (!!!Только предположение, у Вас номер будет отличаться)

7. Сохраняем файл и заливаем на сервер.

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

а я писал уже, только меня послали)

Продвинутый код безопасности 3.1

 

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

Установка:

 

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

 

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

 

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

/ Найти /

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

 

$content = ' '. preg_replace( "/(\w)/", "\\1 ", $content ) .' ';

@header("Content-Type: image/jpeg");

$tmp_x = 140;
$tmp_y = 20;

$image_x = 210;
$image_y = 65;

$circles = 3;

if ( $this->vars['gd_version'] == 1 )
{
$tmp = imagecreate($tmp_x, $tmp_y);
$im = imagecreate($image_x, $image_y);
}
else
{
$tmp = imagecreatetruecolor($tmp_x, $tmp_y);
$im = imagecreatetruecolor($image_x, $image_y);
}

$white = ImageColorAllocate($tmp, 255, 255, 255);
$black = ImageColorAllocate($tmp, 0, 0, 0);
$grey = ImageColorAllocate($tmp, 210, 210, 210 );

imagefill($tmp, 0, 0, $white);

for ( $i = 1; $i <= $circles; $i++ )
{
$values = array(
0 => rand(0, $tmp_x - 10),
1 => rand(0, $tmp_y - 3),
2 => rand(0, $tmp_x - 10),
3 => rand(0, $tmp_y - 3),
4 => rand(0, $tmp_x - 10),
5 => rand(0, $tmp_y - 3),
6 => rand(0, $tmp_x - 10),
7 => rand(0, $tmp_y - 3),
8 => rand(0, $tmp_x - 10),
9 => rand(0, $tmp_y - 3),
10 => rand(0, $tmp_x - 10),
11 => rand(0, $tmp_y - 3),
);

$randomcolor = imagecolorallocate( $tmp, rand(100,255), rand(100,255),rand(100,255) );
imagefilledpolygon($tmp, $values, 6, $randomcolor );
}

imagestring($tmp, 5, 0, 2, $content, $black);

//-----------------------------------------
// Distort by resizing
//-----------------------------------------

imagecopyresized($im, $tmp, 0, 0, 0, 0, $image_x, $image_y, $tmp_x, $tmp_y);

imagedestroy($tmp);

$white = ImageColorAllocate($im, 255, 255, 255);
$black = ImageColorAllocate($im, 0, 0, 0);
$grey = ImageColorAllocate($im, 100, 100, 100 );

$random_pixels = $image_x * $image_y / 10;

for ($i = 0; $i < $random_pixels; $i++)
{
ImageSetPixel($im, rand(0, $image_x), rand(0, $image_y), $black);
}

$no_x_lines = ($image_x - 1) / 5;

for ( $i = 0; $i <= $no_x_lines; $i++ )
{
// X lines

ImageLine( $im, $i * $no_x_lines, 0, $i * $no_x_lines, $image_y, $grey );

// Diag lines

ImageLine( $im, $i * $no_x_lines, 0, ($i * $no_x_lines)+$no_x_lines, $image_y, $grey );
}

$no_y_lines = ($image_y - 1) / 5;

for ( $i = 0; $i <= $no_y_lines; $i++ )
{
ImageLine( $im, 0, $i * $no_y_lines, $image_x, $i * $no_y_lines, $grey );
}

ImageJPEG($im);
ImageDestroy($im);

exit();

 

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

/ Аккуратно Заменить на /

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

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

 

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

/ Найти /

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

function show_reg_form($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'];
}

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

 

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

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

 

 

5) Откройте cache/lang_cache/*/lang_register.php

 

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

/ Найти /

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

 

 

 

'las_input_text' => "Введите 6 числовых знаков кода, отображённых в виде изображения.",

 

 

 

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

 

 

 

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

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

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

 

 

'las_input_text' => "Введите в поле результат математического действия, отображенного на изображении.",

 

 

 

 

 

если не работает после этой инструкции, вешайтесь..

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

Arhar это пользователи так "перечитывают всю тему" :D Добавлю ссылку на пост в описание мода.

 

TOREN страдаешь от одиночества и нескем поговорить? Со мной говорить не надо, я не секс по телефону.

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

Arhar спасибо !!! Вот это настоящая помощь !!!! Взял просто и написал просто и понятно.....

 

Я не понимаю ВОЗМУЩЕНИЕ и НАГЛОСТЬ Vic'er!??? Это же форум !!! и сюда ходят говорить и советоваться ну не ответил ты на вопрос по своим причинам.. ответит тот кто знает или я на пример если этот вопрос был мной пройден и понят !! ну что за человек этот Vic'er ??? ну прямо жертвоприношениями занимаеться .... прямо на все он вопросы так устал отвечать !!! Да что бы тебе было понятно ты в этой теме ни в одном ПОСТУ или вопросе никому не помог!!! только сидел дулся как индюк типо ... "Устал" ... и делал умную физиономию ... Каждый имеет прийти сюда и спросить если у тебя отсохнут руки ответить НЕ ОТВЕЧАЙ!! Следи за порядком что бы правила форума не нарушались РАЗ ДРУГОГО НЕ ДЕЛАЕШЬ!!! и не подстрекай других тому что бы не было проблем в топике ...это хоть ты можешь тихо и прилежно делать РАЗ ДРУГОЕ ТЫ "УСТАЛ" ДЕЛАТЬ!!! и Прошу не называть меня на ты .... я тебе не товарищь (Тем более после этого топика) и кроме того мне не 18 лет и я давно не мальчик ...

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

Vic'er нормальный человек, он просто уже устал от "таких" ежедневных вопросов, которые можно решить самостоятельно. Предполагается что если человек админ форума, то он должен иметь хотя бы элементарные понятия в нужных областях. Закроем эту тему. Отредактируй лучше свой пост.
Ссылка на комментарий
Поделиться на других сайтах

Vic'er нормальный человек, он просто уже устал от "таких" ежедневных вопросов, которые можно решить самостоятельно. Предполагается что если человек админ форума, то он должен иметь хотя бы элементарные понятия в нужных областях. Закроем эту тему. Отредактируй лучше свой пост.

 

Ну значит не ЭЛЕМЕНТАрНАЯ это тема ..раз приходят и спрашивают ... вот пришёл человек и ЭЛЕМЕНТАРНО СДЕЛАЛ ТАК ЧТО БЫ ОНА СТАЛА ЭЛЕМЕНТАРНОЙ.... я говорю о Arhar ...

Тут после его инструкции точно уже можно если не понять то вешаться .... я все понимаю но что человек "УСТАЛ" , но никто ему не позвалял ИЗДЕВАТЬСЯ!!!!

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

Что значит :

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

 

Да я Админ Форума ..но Форума не по скриптам и не по поддержке !! Ребята проснитесь .... Я всего лишь Админ Форума ..... Я его не открыл что бы красоваться своими познаниями в Скриптах.... Если мне что и нужно такое что я не понимаю я заплачу денег ... ну причем тут Админ форума и Должен быть Гением в скриптах .... какие это предположения ГЛУПЫЕ!!! Сейчас вон Любой малец уже может позволить себе поставить форум и для этого не нужно финоминальных знаний ... Давайте не заходить дальше того что позволяется!!! ИЛИ этот форум уже исключение???

 

Такую инструкцию уже не раз писали в теме. Можно было и перечитать.

 

Зачем зря говорить ... я не просто знаю и говорю я даже сейчас перепроверил и не нашёл такой инструкции ... на пятой странице вроде пытались что то написать , но опять так и не решились ...

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

[Ностальгие] Эх, а еще недавно все было по другому...

 

Кто сказал гением? Я говорил "элементарныепонятия". Да, сейчас слегка другое время, просто для меня понятия "админ форума", "пользование мозгом" и "элементарные знания скриптового программирования(и желательно администрирования сервера)" являются неразлучными.

 

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

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

Ладно..... я понял что нет резона искать правды ..закрыли тему .... а я только напишу на будущее ...Даже после этой Инструкции будут вопросы и те же самые ответы .... и те же самые разборки... и что так давай те что бы не уставали закрывайте нах... тему или куда лучше просто ФОРУМ ...зачем уставать и мучиться ???!!! Бедные Модеры , тут так устают и не досыпают .... Зачем тогда все это???

 

Спасибо за внимание я закончил .....больше я нислова не напишу.....................

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

Продвинутый код безопасности 3.1

Продвинутый код безопасности 3.1

Продвинутый код безопасности 3.1

 

И это далеко не все, поленились просмотреть тему, ваши проблемы.

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

Установил, вроде бы все как надо, картинка с математическим примером отображается, но после того, как ввожу результат и нажимаю на "регистрация", выдает ошибку "Код регистрации не соответствует отображенному. Сгенерирован новый код регистрации. Повторите попытку." Где может быть ошибка? :D

 

Вроде бы разобрался..дело было в регистр.пхп

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

Ну все упёрся лбом, не могу понять в чём проблема...

Перечитал всю эту гору оффтопа и споров, инструкцию по установке и т.д. и т.п.

 

Версия форума 2.1.7, библиотеки GD Есть, поставил мод - ошибок ни каких не отдаёт, но картинка при регистрации не отображается, отображает куски старой картинки в перемешку с незагруженными кусками нового мода..

 

Где продуплил понять немогу, уже код просмотрел от корки до корки.

Может кто чего посоветует дельного? У кого такое было...

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

Люди ну не устанавливается captcha на версии 2.1.7 !!! залейте сюда 2 файла готовых со вставленным кодом плиз ......... ipsclass.php и register.php

 

спасибо

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


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

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

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