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

[MOD] IPB StopForumSpam.com


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

[MOD] IPB StopForumSpam.com

Автор: Android (13.11.2008)

Для: IPB v2.3.X

Редактировать: 1 файл

Скорость установки: 1 минута

 

Особенности: на хостинге должны быть открыты соксы (функция file_get_contents), на многих халявных хостингах они закрыты.

 

Описание:

Это небольшая модификация которая позволит Вам проверять всех пользователей которые регистрируются по базе stopforumspam.com на принадлежность к сети спам-ботов и отсеивать таким образом спамеров еще на этапе регистрации. Мод очень эффективен и никак не отягощает процесс регистрации пользователей!

 

Открываем файл: sources/action_public/register.code

В самом конце файла, до:

}

?>

вставяем код:

	//-----------------------------------------
// Проверка по базе www.stopforumspam.com
// для отсеивания спамботов.
// Входящие данные: $mail - почтовый адрес, $ip - айпишник
// Возвращает false - если это не спам-бот, true - если mail или ip найдены в базе спамеров (т.е. это спам-бот)
// Автор мода: Android, обсуждение тут: http://www.nulled.ws/showthread.code?t=86970
//-----------------------------------------
function isSpambots($mail,$ip){
		$spambot = false;
		//check the e-mail adress
		$xml_string = file_get_contents('http://www.stopforumspam.com/api?email='.$mail);
		$xml = new SimpleXMLElement($xml_string);
		if($xml->appears == 'yes'){
			$spambot = true;
		}elseif($spambot != true){
		//e-mail not found in the database, now check the ip
			$xml_string = file_get_contents('http://www.stopforumspam.com/api?ip='.$ip);
			$xml = new SimpleXMLElement($xml_string);
			if($xml->appears == 'yes'){
					$spambot = true;
			}
		}
		return $spambot;
}

потом находим в функции create_account() (примерно 1990-2000 строка) следующий код:

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

и до него вставляем код:

		//-----------------------------------------
	// Не спамер ли это? (проверка по базе stopforumspam.com)
	//-----------------------------------------
	$stopforumspam = $this->isSpambots($in_email,$_SERVER["REMOTE_ADDR"]);
	if ( $stopforumspam )
	{
		$form_errors['email'][$this->ipsclass->lang['reg_error_email_ban']] = "Простите но Вы занесены в базу спамеров stopforumspam.com и не можете продолжить регистрацию. Если это недоразумение обратитесь к администрации форума.";
	}

Вот и все, теперь у вас есть хорошая проверка по базе мыл и айпишников спамеров, которая своевременно пополняется ;-).

 

Теперь для проверки работоспособности попробуйте зарегистрировать акк на какоенить спамерское мыло, например на это sakyrastar@gmail.com (или выберите любое тут http://www.stopforumspam.com/), вам должно выдаться предупреждение мол:

Простите но Вы занесены в базу спамеров stopforumspam.com и не можете продолжить регистрацию. Если это недоразумение обратитесь к администрации форума.
З.Ы. Даную проверку легко можно встроить в любой скрипт, на сайте http://www.stopforumspam.com есть примеры и описания АПИ...

 

Добавлено через 4 минуты

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

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

Все бы ничего, но в той базе преобладают буржуйские спаммеры, "наших" - практически нет.

Поэтому какой ожидать эффект от установки этого хака на рунетовском форуме?

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

Кстати, чтобы отсеять забугорных ботов, не проще бан поставить в фильтре *.com основная масса с этого домена идет ведь
Ссылка на комментарий
Поделиться на других сайтах

Кстати, чтобы отсеять забугорных ботов, не проще бан поставить в фильтре *.com основная масса с этого домена идет ведь

Скорее, это способ отсеять забугорных юзверей....

Да я ж блин выкладывал сюда уже мод этот( точнее http://www.ibresource.ru/db/1079/)

Надо поиск юзать....

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

Да я ж блин выкладывал сюда уже мод этот( точнее http://www.ibresource.ru/db/1079/)

Надо поиск юзать....

 

Да идеи схожи, но это не совсем тот мод. Ваш мод имеет больший функционал, но он работает с базой antibot.org.ua, а если посмотреть статистику:

 

На antibot.org.ua

Всего записей: 23808

 

А на stopforumspam.com

We currently have information on 97907 spammers since about December 2006.

 

Вообщем мне кажется что у stopforumspam.com более приличная база и хуже от того что я выложил тут это решение никому не стало!

 

Все бы ничего, но в той базе преобладают буржуйские спаммеры, "наших" - практически нет.

Поэтому какой ожидать эффект от установки этого хака на рунетовском форуме?

Вы что всю базу прошурстили? Там хватает и информации о отечественных спам-сетях, но у спам-сетей нет национальности, у меня русский спам слали с айпишников США, а самая большая зомби-сеть в китае как известно вот вам и эффективность :-).

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

  • 1 месяц спустя...

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

Fatal error: Cannot instantiate non-existent class: simplexmlelement in /home/localhost/docs/forum/sources/action_public/register.php on line 2788

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

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

2.2

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

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

2.2

не нашёл для себя там ответа :D

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

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

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

Уважаемый Sannis, там чёрно по белому написано 5 пунктов. на это я и покупал лицензию форума а не скачивал null дабы получить техническую поддержку которая очень плохо развита IBR Forum Team, а те кто скачивают null тот правильно делает потому что нормальной технической поддержки Вы не даёте.

 

Sannis а ошибка выдаётся судя по номеру строки в файле "on line 2788"

 

$xml = newSimpleXMLElement($xml_string);

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

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

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

для слепых пишу громко:

напечатай сюда код из файла /home/localhost/docs/forum/sources/action_public/register.php начиная с линии 2760, заканчивая 2800

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

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

Уважаемый Sannis, там чёрно по белому написано 5 пунктов. на это я и покупал лицензию форума а не скачивал null дабы получить техническую поддержку которая очень плохо развита IBR Forum Team, а те кто скачивают null тот правильно делает потому что нормальной технической поддержки Вы не даёте.

Здравствуйте. А в сообщении выше крупным шрифтом написано, что нужно читать пункт 2.2.

 

IBR Forum Team не является той структурой, которая поддерживает клиентов. Поддержка, о которой вы говорите и за которую вы заплатили, осуществляется в клиент-центре. Денег с того, что вы кипили лицензию я и другие члены IBR Forum Team не имеют :D

 

Так что не стоит делать громких заявлений ;) Если качество поддержки в клиент-центре вас не устраивает, вы может пожаловаться об этом руководству компании или в соответствующей теме в клиентском форуме. Если вы хотите, чтобы вам установили и настроили форум сторонние специалисты, то это наверняка потребует дополнительных затрат. IBR Forum Team поможет вам по мере своего свободного времени, но для этого вы должны изъясняться менее требовательным тоном и следовать нашим советам.

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

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

для слепых пишу громко:

напечатай сюда код из файла /home/localhost/docs/forum/sources/action_public/register.php начиная с линии 2760, заканчивая 2800

ну зачем же так кричать? я конечно понимаю что тут нас много таких не программеров с которыми Вам тяжело общаться и которые плохо понимают Ваши намёки то что Вы от них хотите.

буду очень Вам признателен.

 

				// Grab CAPTCHA template bit
			require_once( KERNEL_PATH . 'class_captcha.php' );
			$captchaClass = new class_captcha( $this->ipsclass, $this->ipsclass->vars['bot_antispam_type'] );
			$captchaHTML  = $captchaClass->getTemplate();
		}

		if ($this->ipsclass->vars['bot_antispam'])
		{
			$this->output = str_replace( "<!--{REG.ANTISPAM}-->", $captchaHTML, $this->output );
		}
	}
	else
	{
		$this->output	 = $this->ipsclass->compiled_templates['skin_register']->show_dumb_form($type);
	}

	$this->page_title = $this->ipsclass->lang['activation_form'];
	$this->nav		= array( $this->ipsclass->lang['activation_form'] );
}
//-----------------------------------------
// Проверка по базе www.stopforumspam.com
// для отсеивания спамботов.
// Входящие данные: $mail - почтовый адрес, $ip - айпишник
// Возвращает false - если это не спам-бот, true - если mail или ip найдены в базе спамеров (т.е. это спам-бот)
// Автор мода: Android, обсуждение тут: http://www.nulled.ws/showthread.code?t=86970
//-----------------------------------------
function isSpambots($mail,$ip){
		$spambot = false;
		//check the e-mail adress
		$xml_string = file_get_contents('http://www.stopforumspam.com/api?email='.$mail);
		$xml = newSimpleXMLElement($xml_string);
		if($xml->appears == 'yes'){
			$spambot = true;
		}elseif($spambot != true){
		//e-mail not found in the database, now check the ip
			$xml_string = file_get_contents('http://www.stopforumspam.com/api?ip='.$ip);
			$xml = new SimpleXMLElement($xml_string);
			if($xml->appears == 'yes'){
					$spambot = true;
			}
		}
		return $spambot;
}

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

Либо у вас стоит PHP версии ниже 5й, либо он устанавливался с параметром --disable-simplexml, а значит исправить это может только технический персонал хостинга :/
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

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

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