Страница 1 из 9

[ABD] Stop Advertisement bots

Добавлено: 07.11.2004 16:25
Xpert
Тема закрыта в связи с выходом второй версии данного мода. Подробнее смотрите Stop Advertisement Bots v.2

Код: Выделить всё

############################################################## 
## MOD Title: Stop Advertisement bots
## MOD Author: Xpert < xpert@phpbbguru.net > (N/A) http://www.phpbbguru.net 
## MOD Description: 	This mod helps you to stop advertisement bots registering on
##			your board. 
## MOD Version: 	1.0.0 [phpBB 2.0.x] 
## 
## Installation Level: 	Easy 
## Installation Time: 	5 Minutes 
## Files To Edit (3): 	includes/usercp_register.php
##			language/lang_russian/lang_main.php
##			templates/subSilver/profile_add_body.tpl
## Included Files: 	adv_bot.tpl
############################################################## 
## For Security Purposes, Please Check: http://www.phpbbguru.net/mods/ for the 
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code 
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered 
## in our MOD-Database, located at: http://www.phpbb.com/mods/ 
##############################################################
## Author Notes: 
## 
############################################################## 
## MOD History:
## 
##   2004-11-07 - Version 1.0.0 
##      - Initial Release
## 
############################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
############################################################## 

# 
#-----[ OPEN ]------------------------------------------ 
# 
templates/subSilver/profile_add_body.tpl

#
#-----[ FIND ]------------------------------------------
#
	<tr> 
	  <td class="row1"><span class="gen">{L_WEBSITE}:</span></td>
	  <td class="row2"> 
		<input type="text" class="post"style="width: 200px"  name="website" size="25" maxlength="255" value="{WEBSITE}" />
	  </td>
	</tr>

#
#-----[ BEFORE ADD ]------------------------------------------
#
	<!-- BEGIN switch_edit_profile -->

#
#-----[ AFTER, ADD ]------------------------------------------
#
	<!-- END switch_edit_profile -->

# 
#-----[ OPEN ]------------------------------------------ 
# 
includes/usercp_register.php

#
#-----[ FIND ]------------------------------------------
#

		$avatar_sql = user_avatar_gallery($mode, $error, $error_msg, $user_avatar_local);
	}

	if ( !$error )
	{


#
#-----[ AFTER ADD ]------------------------------------------
#
		// Start of Stop Advertisement bots code
		if ( $mode == 'register' && ($website != '') )
		{
			// That's advertisement bot... let's send a message with its registaration data to the board admin
			
			include($phpbb_root_path . 'includes/emailer.'.$phpEx);
			$emailer = new emailer($board_config['smtp_delivery']);

			$emailer->from($board_config['board_email']);
			$emailer->replyto($board_config['board_email']);

			$emailer->use_template('adv_bot', $board_config['default_lang']);
			$emailer->email_address($board_config['board_email']);
			$emailer->set_subject($lang['Adv_bot_reg']);

			$emailer->assign_vars(array(
				'SITENAME' => $board_config['sitename'],
				'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '',
				'USERNAME' => preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, substr(str_replace("\'", "'", $username), 0, 25)),
				'PASSWORD' => $password_confirm,
				'EMAIL_ADDRESS' => $email,
				'ICQ' => $icq,
				'AIM' => $aim,
				'YIM' => $yim,
				'MSN' => $msn,
				'WEB_SITE' => $website,
				'FROM' => $location,
				'OCC' => $occupation,
				'INTERESTS' => $interests));

			$emailer->send();
			$emailer->reset();

			// ... and die nice

			message_die(GENERAL_MESSAGE, $lang['Adv_bot_reg']);
		}
		// End of Stop Advertisement bots code

# 
#-----[ OPEN ]------------------------------------------ 
# 
language/lang_russian/lang_main.php

#
#-----[ FIND ]------------------------------------------
#

//
// That's all Folks!
// -------------------------------------------------

#
#-----[ BEFORE ADD ]------------------------------------------
# 

$lang['Adv_bot_reg'] = 'Попытка регистрации рекламного бота';

# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM
Шаблон письма (language/lang_russian/email/adv_bot.tpl)

Код: Выделить всё

Subject: Попытка регистрации рекламного бота на {SITENAME}
Charset: windows-1251

На {SITENAME} была зафиксирована попытка регистрации рекламного бота со следующими регистрационными данными:

Username: {USERNAME}
Password: {PASSWORD}
Email: {EMAIL_ADDRESS}

ICQ Number: {ICQ}
AIM Address: {AIM}
MSN Messenger: {MSN}
Yahoo Messenger: {YIM}
Web Site: {WEB_SITE}
From: {FROM}
Occupation: {OCC}
Interests: {INTERESTS}

{EMAIL_SIG}
Мод закрывает возможность регистрации на форуме столько сильно расплодившимся в последнее время в Интернете рекламным ботам, которые регистрируются на форуме только для того, чтобы оставить в профиле ссылку на рекламируемый ими сайт. Как видите, сам принцип мода довольно прост - при регистрации пользователя поле "Сайт" отсутствует, соответственно, если его пытаются ввести при отправке регистрационной формы, то это не человек, а робот, видеть которого мы не хотим.

После попытки регистрации робота администратору форума (на адрес, указанный в разделе "Конфигурация") отправляется сообщение с данными робота.
Subject: Попытка регистрации рекламного бота на yourdomain.com

На yourdomain.com была зафиксирована попытка регистрации рекламного бота со следующими регистрационными данными:

Username: Рекламный бот
Password: 4321
Email: adv@4search.biz

ICQ Number: 555777999
AIM Address:
MSN Messenger:
Yahoo Messenger:
Web Site: http://index.me
From: z web
Occupation: Спамер
Interests: Поднятие ИЦ

--
Thanks, The Management
Пока отправка данных сделана в основном в целях проверки, но вообще имхо довольно полезная возможность; с удовольствием выслушаю ваши мнения по этому поводу.

Добавлено: 07.11.2004 19:34
ra
при регистрации пользователя поле "Сайт" отсутствует
Я что-то пропустил или оно действительно отсутвует?

Добавлено: 07.11.2004 23:11
Xpert
R@
Это после установки мода.
Впрочем, могу сказать следующее: мод не работает. Он установлен на данном форуме и сквозь него уже прошел один бот, просто не заполнив соответствующее поле. Поэтому, считаю методику неверной, тестирование будет продолжаться, буду искать новые способы противодействия ботам, но тему закрываю, признав модификацию не состоявшейся на данный момент.

Добавлено спустя 3 часа 26 минут 17 секунд:

Мда... я уже опечалился, думал такая хорошая идея - и не сработала. А оказывается сработала. "Тятя, тятя, наши сети притащили мертвеца".
На phpBB Guru была зафиксирована попытка регистрации рекламного бота со следующими регистрационными данными:

Username: aphrodisiac.263
Password: ********
Email: aphrodisiac.263@hotmail.com

ICQ Number:
AIM Address:
MSN Messenger:
Yahoo Messenger:
Web Site: http://www.aphrodisiac.be
From:
Occupation:
Interests:

--
Спасибо, администрация форума русской поддержки phpBB
http://www.phpbbguru.net
Так что обсуждение мода можно продолжить, по остальным вопросам, связанным с ботами просьба в соответствующуюю тему.

Добавлено: 07.11.2004 23:47
Vladson
А можно ли сделать оповещение админа в ЛС ?
Или просто запретить регестрацию ?

Добавлено: 08.11.2004 0:01
Konkere
Xpert
можно попробовать сделать как в disable-spambots
скрытые поля с генерируемым по md5 кодом а в режиме $mode = 'register' проверять наличие и значение этих полей так можно будет отловить роботов

Добавлено: 08.11.2004 7:11
Xpert
Vladson
Так робот и не регистририуется, просто админу идет оповещение по e-mail, что была попытка.

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

Добавлено: 08.11.2004 21:37
webclub
Так он работает или нет этот мод?
А вещь конечно же хорошая.

Добавлено: 08.11.2004 21:53
Xpert
Работает. Правда отлавливает не всех роботов, пока может противодействовать только одному алгоритму. Минут 20 назад поймал еще одного.

Добавлено: 11.11.2004 11:58
Xpert
Сегодня в 0.52 по московскому времени постучался еще один рекламный бот, получил от ворот поворот, постучался еще раз. :) Как итог - имею в почтовом ящике два письма с информацией о попытке нарушения территориальной целостности государства. :)

Добавлено: 21.11.2004 14:40
Shcarla
После обнаружения рекламных ботов у себя на форуме, я понял всю серьезность данной проблемы и начал искать способы ее разрешения. Мой друг предложил опробовать мне данный мод, и я не прогадал. Уже за первый день эксплуатации данного мода, он предотвратил регистрацию 4 ботам, которые пришли на мой форум, дабы оставить свою ссылку в профиле. А в сочетании с robots.txt это просто безотказное лекарство против таких незаконных рекламных действий. Спасибо автору данного мода.

Добавлено: 22.11.2004 7:11
Xpert
Моя статистика - мод был установлен на форум сразу же после разработки, т.е. 15 дней назад. За это время было выловлено 15 ботов.

Добавлено: 11.12.2004 8:04
Ламер
а если бота регистрирует юзверь?

Добавлено: 11.12.2004 9:29
Xpert
Он не увидит поле "Сайт", не забьет его. А вообще как показала практика, есть 2 вида ботов:
1) интеллектуалы. По всей видимости смотрят robots.txt, если страница просмотра профиля запрещена к индексации, не регистрируются.
2) рвущиеся напролом. Просто шлют все стандартные поля. Это видимо какой-то скрипт, иногда вижу объявления о его продаже. Вот таких мод отсеивает.

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

Добавлено: 11.12.2004 11:37
The-eBook
Я тоже все время сталкиваюсь с ботами. Пытаюсь бороться пока руками, ввел необходимость подтверждения по e-mail. После этого количество уменьшилось. После очередного появления ботов, начал банить их e-mail. Они какое-то время держались, пока хватало тех самых e-mail. И борьба продолжается.

Я не программист, но метод борьбы вижу в другом, нежели отключение поля www в регистрации, потому как у меня это важно, как объединительный элемент.

1. Ввести дополнительное поле, где учитывать все сайты зарегистрированные в форуме.
2. Периодически просматривать этот список.
3. Запрещать регистрацию пользователей из черного списка сайтов. Чтобы они не могли зарегистрироваться.

Или вариант еще проще:

1. В списках BAN добавить поле www, где запрещать пользователей с указанными сайтами. По аналогии с запрещенными e-mail.

Добавлено: 11.12.2004 22:13
Xpert
Руками я в свое время замучался. :( А уж как они повалили после установки мода - иногда по 15 штук в день было.

На идею мода, и именно используя уборку поля "Сайт" меня натолкнул мод Custom Registration Form от Niels. В принципе я вообще за то, чтобы все дополнительные поля из формы регистрации убрать, их можно заполнить и после. Сделать просто надпись - "Дополнительные поля будут доступны после регистрации, их можно будет изменить, зайдя в профиль" - и все. Не универсально конечно, но imho лучше чем visual confirmation, так эта система может иногда не работать.