Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Простой спам-фильтр

Идеи для расширения функциональности phpBB 2.0.x
Аватара пользователя
WingLion
phpBB 1.4.4
Сообщения: 179
Стаж: 19 лет 1 месяц
Откуда: St.Petersburg
Контактная информация:

Простой спам-фильтр

Сообщение WingLion »

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

В отдельном файле spam_filtr.php рисуется функция:

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

<?php

function spam_test($message){

$ignortxt[1] = 'vova@mail.ru';
// $ignortxt[] = 'ecosun.org';
$ignortxt[] = '<h1><strong>';
$ignortxt[] = '<a href';
$ignortxt[] = 'viagra';
$ignortxt[] = 'xanax';
$ignortxt[] = 'good site';
$ignortxt[] = 'Vali';
$ignortxt[] = 'agra';
$ignortxt[] = 'hotmail.com';
$ignortxt[] = 'yahoo.com';
$ignortxt[] = 'yandex.com';
$ignortxt[] = 'tramadol';
$ignortxt[] = 'mkostya';
$ignortxt[] = 'free20';
$ignortxt[] = 'k7.pl';
$ignortxt[] = 'phenterm';
$ignortxt[] = 'poker';
$ignortxt[] = 'aol.com';
$ignortxt[] = 'freewebs';
$ignortxt[] = 'casino';
$ignortxt[] = 'rohostin';
$ignortxt[] = 'blogspot.com';
$ignortxt[] = 'Куплю Windows Куплю Office';
// $ignortxt[] = 'gmail.com';
// здесь аналогично вставлять свои строки, 
// наличие которых интерпретируется как спам


$IgnoreFlag=FALSE;
$inn = 1;
while (isset($ignortxt[$inn])){
	if (strstr($message,$ignortxt[$inn])){$IgnoreFlag = 1;};
$inn++;};

if ($IgnoreFlag == 1){$IgnoreFlag=TRUE;};
// отсечение постов со множеством ссылок
if (count(split("http://",$message)) > 11){$IgnoreFlag=TRUE;};
// более 10 ссылок фильт сделать не даст.
// Если надо больше - правоть цифру "11"
return ($IgnoreFlag);
};

?>
Файл spam_filtr.php заливается в папку includes/

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

В файле includes/funcrion_post.php

### После строк:
//
// This function will prepare a posted message for
// entry into the database.
//
### Вставить строку:
include ('includes/spam_filtr.php');

### Далее, в этом же файле, после строк:

	// Check message

### вставить:
	if (spam_test($message)){die('Спамеры идут лесом-лесом-полем-лесом!');};
// тут можно и свой текст вставить, кто на что горазд
После этого сохранить funcrion_post.php на прежнее место, и вуаля!

SPAM-фильтр готов! И работает! :)

P.S. Возможно, я что-то сделал криво, ибо ламер, пусть уважаемые Гуру поправят, как лучше.

В список запретных строк можно вписать и маты, а форумчан предупредить, что маты будут отсекаться как спам.
Последний раз редактировалось WingLion 24.09.2006 15:33, всего редактировалось 2 раза.
С уважением, WingLion
Логика - это такая вещь, которая либо есть, либо ее нет. Третьего не дано!
Посыл в поиск = посыл на три советских буквы. Молитесь - скоро ночь!
Аватара пользователя
edgar
phpBB 2.0.13
Сообщения: 917
Стаж: 18 лет 8 месяцев
Откуда: с Луны свалил...

Сообщение edgar »

Спамеров никакими фильтрами слов не остановить. И их надо еще при регистрации отсекать, а не при постинге. Например модом Anti Bot Question. А если гостям можно постить, то Detector Bots помогает.
Аватара пользователя
WingLion
phpBB 1.4.4
Сообщения: 179
Стаж: 19 лет 1 месяц
Откуда: St.Petersburg
Контактная информация:

Сообщение WingLion »

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

Так эти гады через WC прорываются каким-то образом :(
Достали, потому и сделал себе такую штуку...
ПО крайней мере, самых мерзких отсеет, а там, глядишь, остальные на VC заткнутся...
Надо еще добавить туда подсчет количества http:// в постах, и если больше некоего числа, тоже резать...

Сейчас попробовал подсчет вставить,
но какие-то переменные задел, форум перестал темы грузить :(
Убрал обратно. Позже разбираться буду...
Уже сделал и вставил в свой первый пост. :)
С уважением, WingLion
Логика - это такая вещь, которая либо есть, либо ее нет. Третьего не дано!
Посыл в поиск = посыл на три советских буквы. Молитесь - скоро ночь!
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 17 лет 10 месяцев
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза
Контактная информация:

Сообщение Палыч »

edgar писал(а): А если гостям можно постить, то Detector Bots помогает.
WingLion писал(а):Надо еще добавить туда подсчет количества http:// в постах, и если больше некоего числа, тоже резать...
Это одно и тоже. :)
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
WingLion
phpBB 1.4.4
Сообщения: 179
Стаж: 19 лет 1 месяц
Откуда: St.Petersburg
Контактная информация:

Сообщение WingLion »

edgar писал(а):А если гостям можно постить, то Detector Bots помогает.
Ссылочку на него положили бы ради смеха, что ли?..
А то и не поймешь на каком phpbb-хаке его искать...
И каким кривым запросом у поиска клянчить?..

П.С. Палыч, тезка, брось косяк!
Вредно в таком возрасте, и какой пример подаешь новичкам!
С уважением, WingLion
Логика - это такая вещь, которая либо есть, либо ее нет. Третьего не дано!
Посыл в поиск = посыл на три советских буквы. Молитесь - скоро ночь!
Аватара пользователя
MNK
phpBB 1.4.4
Сообщения: 195
Стаж: 18 лет
Откуда: Москва

Сообщение MNK »

edgar писал(а):А если гостям можно постить, то Detector Bots помогает.
Он не только от гостей помогает, но и от дефективных, которые не поленились зарегистрироваться, только для того, что-бы запостить десяток ссылок.

Добавлено спустя 2 минуты 29 секунд:

WingLion
http://www.phpbbguru.net/community/viewtopic.php?t=6483
Поиск, воистину рулит! :wink:
Аватара пользователя
WingLion
phpBB 1.4.4
Сообщения: 179
Стаж: 19 лет 1 месяц
Откуда: St.Petersburg
Контактная информация:

Сообщение WingLion »

MNK писал(а):WingLion
http://www.phpbbguru.net/community/viewtopic.php?t=6483
Поиск, воистину рулит!
Дык, елы-палы... у меня под словами "ссылочку на него" именно эта ссылка и вставлена.
С уважением, WingLion
Логика - это такая вещь, которая либо есть, либо ее нет. Третьего не дано!
Посыл в поиск = посыл на три советских буквы. Молитесь - скоро ночь!
Аватара пользователя
MNK
phpBB 1.4.4
Сообщения: 195
Стаж: 18 лет
Откуда: Москва

Сообщение MNK »

Аватара пользователя
WingLion
phpBB 1.4.4
Сообщения: 179
Стаж: 19 лет 1 месяц
Откуда: St.Petersburg
Контактная информация:

Сообщение WingLion »

WingLion дико ржот и катается по полу.
Ой, не могу! Ой, не могу!

Я, наверно, тупой, но "phpBB 1.4.4" под моим ником в постах, должно как-то отвечать за себя, что я тут не совсем новичок на форуме!

Хотя, на своем форуме я поиск вырубил напрочь, чтобы место в БД не занимало, и потому что реальной пользы от него круглый ноль.

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

Ладно, прочь эмоции... Работа ждет...

Добавлено спустя 5 минут 22 секунды:
edgar писал(а): их надо еще при регистрации отсекать, а не при постинге.
У меня счетчик стоит на входе, сколько ботов автоматом отфутболено при регистрации.
В данный момент - 712 - почти в 15 раз больше, чем юзеров на форуме.
И пока еще не получал ни одной жалобы от возможных юзеров, что их обозвало ботом и не зарегистрировало.
С уважением, WingLion
Логика - это такая вещь, которая либо есть, либо ее нет. Третьего не дано!
Посыл в поиск = посыл на три советских буквы. Молитесь - скоро ночь!
Аватара пользователя
Tjom
phpBB 1.0.0
Сообщения: 8
Стаж: 18 лет 10 месяцев
Контактная информация:

Сообщение Tjom »

Ребята, вопрос есть... если установить Detector Bots, то при регистрации они короче отсеиваться будут или только после?
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 17 лет 10 месяцев
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза
Контактная информация:

Сообщение Палыч »

Tjom писал(а):Ребята, вопрос есть... если установить Detector Bots, то при регистрации они короче отсеиваться будут или только после?
Нет, от факта регистрации он не защищает. Но если после регистрации идет попытка размещения каких-либо линков (ссылок) то следует удаление пользователя (или предупреждение ему, если поставлен, например, МОД Желтая карта). Количество разрешенных линков для пользователей различных рангов (от количества общих постов) настраивается.
Для защиты от нежелательной регистрации (роботов-спамеров) попробуй Anti Bot Question Hack

Добавлено спустя 2 минуты 7 секунд:

Tjom
И обязательно обнови версию форума... 2.0.16 - не жилец...
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
WingLion
phpBB 1.4.4
Сообщения: 179
Стаж: 19 лет 1 месяц
Откуда: St.Petersburg
Контактная информация:

Сообщение WingLion »

edgar писал(а):Спамеров никакими фильтрами слов не остановить. И их надо еще при регистрации отсекать, а не при постинге. Например модом Anti Bot Question. А если гостям можно постить, то Detector Bots помогает.
Самое смешное, что режет фильтр спамеров! И довольно хорошо режет.
Список 'слов', конечно, уже подрос, но и сам фильтр изменился.
Во-первых, сделал так, чтобы он проверял не только пост, но и топик, и имя. Во-вторых, избавил зарегистрированных пользователей форума от срабатывания фильтра на их постах, при случайных попаданиях.

Короче, если кому-то интересно - спрашивайте,
оформлю по-человечески, и будет вам счастье!

п.с. Отражено 1137 попыток регистрации рекламных ботов
С уважением, WingLion
Логика - это такая вещь, которая либо есть, либо ее нет. Третьего не дано!
Посыл в поиск = посыл на три советских буквы. Молитесь - скоро ночь!
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert »

WingLion
Поставьте новую версию отражателя :)
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
WingLion
phpBB 1.4.4
Сообщения: 179
Стаж: 19 лет 1 месяц
Откуда: St.Petersburg
Контактная информация:

Сообщение WingLion »

Xpert писал(а):Поставьте новую версию отражателя Smile
У меня старая версия перекопана по-своему, а чтобы новую поставить, надо весь форум сносить (потому что сейчас уже не помню обо всем, что и где менял), ставить заново и заново ставить на него все моды, а это тягостно. Впрочем, делать все равно придется рано или поздно. Я эту работу откладываю на момент расширения хостингплана, когда можно будет в параллель поставить новый форум, а потом просто перекинуть на него старую БД...
С уважением, WingLion
Логика - это такая вещь, которая либо есть, либо ее нет. Третьего не дано!
Посыл в поиск = посыл на три советских буквы. Молитесь - скоро ночь!
Аватара пользователя
edgar
phpBB 2.0.13
Сообщения: 917
Стаж: 18 лет 8 месяцев
Откуда: с Луны свалил...

Сообщение edgar »

WingLion писал(а):Короче, если кому-то интересно - спрашивайте,

оформлю по-человечески, и будет вам счастье!
Конечно интересно. Но я так понял, что базу все таки надо будет пополнять постоянно? Ваша модификация лучше чем-то, чем Detector Bots? От гостей сейчас какой-то спам проходит?
Мне это всё интересно. Хочется и спамерам проход закрыть и гостям разрешить ссылки постить. Задача вообще нереальной кажется. Все что я сделал, это написал в предупреждении Детектор Ботса - уберите из ссылки www. и http (если гость ссылку постит)
Закрыто

Вернуться в «Запросы модов для phpBB 2.0.x»