АнтиСпам для Блогов (ver. 1.10.* & 1.9)

+82
3.3K

Привет всем!

Недавно поймал на сайте приличное кол-во спама в блоги, и как на зло не следил за сайтом пару дней…
В итоге получил ~400 постов содержащих множество ссылок на левые ресурсы…
Оперативно забанил ботов и провел чистку.

Сколько этого спама успело улететь в поиск не знаю, но думаю много,
и это плохо конечно. Особенно для молодого сайта…



Заметил как оказалось вовремя, так как прочитал на форуме, что многие ловят спам тысячами постов!

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

Решено было добавить дополнительную защиту от спамеров.

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

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

Делается все в файле: www\components\blogs\frontend.php

после строк:

  1. //для нового поста
  2. if ($do=='newpost'){
  3.  
  4. if (IS_BILLING){ cmsBilling::checkBalance('blogs', 'add_post'); }
  5.  
  6. $inPage->addPathway($_LANG['NEW_POST']);
  7. $inPage->setTitle($_LANG['NEW_POST']);


необходимо добавить эти:

Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст



Для тех у кого установлена 1.10.1 и файл frontend.php не менялся,
можно скачать уже исправленный и закинуть в папку
www\components\blogs\

Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст



Для тестирования необходимо попытаться добавить подряд несколько постов в блог.



Для версии движка 1.9 :

Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
+4
Dim@sik Dim@sik 11 лет назад #
Нужная вещь, счас потесчу
От меня вам +
+5
Soul Soul 11 лет назад #
Блог: мелочи
+ :)
P.S. Этот вопрос далеко не мелочи... :(
+3
Майкл Майкл 11 лет назад #
+ большущий.
+1
toropa toropa 11 лет назад #
+
под 1.9 есть подобное?
+1
Dost Dost 11 лет назад #
Отлично! Нужная многим вещь! Спамерам — нет. Вам огромнейший плюс!
+1
Azura Azura 11 лет назад #
Супер!!! Спасибищи!!! =)))
+1
BlondinkO BlondinkO 11 лет назад #
Браво! Очень актуально! Спасибо!
+1
Endroid Endroid 11 лет назад #
Спасибо за работу! Нужное решение - в ядро однозначно!
+3
Марат Марат 11 лет назад #
+
молодец!
+3
picaboo picaboo 11 лет назад #
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
+1
KS KS 11 лет назад #
Можно и так, но тогда будут проблемы у тех кто любит писать в ворде, и затем копировать-вставить..
+1
lezginka.ru lezginka.ru 11 лет назад #
+
вовремя :)
+1
EVV EVV 11 лет назад #
Всё отлично работает! Спасибо! +
0
Владимир Савенко ✝️ Владимир Савенко ✝️ 11 лет назад #
В закладки, после праздников попробую, но заранее спасибо, за данную разработку. Думаю, что с проблемой спама (ох уж эти горе сеошники) сталкивается любой сайт, который вышел на высокие позиции...
+1
st.Puh st.Puh 11 лет назад #
Супер,очень нужная вещь, поставил проверил все работает.Добавил пост в блог, сразу за ним хотел добавить второй, выводит страничку с капчей.Попробовал добавить второй пост через 15 мин. капча не появилась,работает прекрасно.
+2
reload reload 11 лет назад #
Интересное решение)
+++
Единственное увидел только одно но! из за которого было принято решение написать проверку)
KS:
но и тут бывает такое, что боты друг другу карму повышают и затем начинается постинг.
Ни в коем случае не упрек, реально интересно:
Не проще ли именно для этого "но!" сделать простую проверку - кто имеет право оценивать (поднимать карму)
Если карма ниже 10 - то гуляй лесом - зарабатывай авторитет)) боты не смогут друг-другу накрутить...
Только через реальных пользователей, если это делается преднамеренно - но такое вычислить очень просто...

У себя еще не разу не замечал как боты поднимают друг другу карму)

Но в любом случае +) дело полезное!)
+2
Def Def 11 лет назад #
а если проект новый и у всех пока нулевая карма, что делать?)
0
reload reload 11 лет назад #
Жесть, тогда все пропало))
хотя на то мы и админы, что бы принимать решения)
До появления 5-10 с положительной кармой, можно и ручками поадминить, можно и модеров завести, да много чего можно - пока на сайте нет движухи (пока молодой) следить за ним не так напряжно когда появятся даже сотни юзеров!)
А с другой стороны есть ведь решение ТС - если оно подходит, то в чем проблема?)
Просто для меня, если вопрос был в том, что боты могут друг другу карму поднимать - то именно это и нужно решать!) хотя каждый оценивает ситуацию по своему)

Не вижу смысла усложнять жизнь людям с высокой кармой из-за ботов - лучше ограничить "новеньких" - на то они и новенькие - пусть в начале заслужат доверие! но это всего мысли вслух) для меня правильней так - у каждого свое мнение и свои приоритеты)
0
reload reload 11 лет назад #
Получается что блог можно создать с кармой выше единицы, но поднимать или опускать карму могут только те у кого карма выше десяти!
Тут и логика небольшая есть - всякие "уникумы" которые заминусованы ниже плинтуса, не смогут портить карму и репутацию "нормальным" юзерам!)
Получаем что оценивать могут якобы только "адекватные" пользователи, мнение которых уже имеет вес!)

Конечно можно найти много примеров как "неадекватные" набирают положительную карму, но тут уже другая сказка - и тоже лежит на плечах админа или модеров!)
0
KS KS 11 лет назад #
Мне кажется если ставить ограничения кармой, нужно, что бы сайт уже был неплохо раскручен.
Я всегда был за удобство и простоту, поэтому стараюсь меньше делать ограничений для пользователей .
И в этом анти-спаме жизнь пользователей ни в коем случае не усложняется ! В 90% анти-спам увидят только боты.
0
reload reload 11 лет назад #
так я только ЗА!)
решение однозначно хорошее - это даже не вопрос)
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
0
KS KS 11 лет назад #
Согласен, от спама в конечном итоге спасут только руки , но даже это решение по вставляет палки в колеса

Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
-1
letsgo letsgo 11 лет назад #
1000 распознаваний капчи стоит на антигейте 1 доллар. Честно говоря по решению с кармой не видел, чтобы боты друг другу повышали карму. Кто факт приведет? Решение хорошее и заставит спамеров подключить антигейт, но таки не конечное.
0
KS KS 11 лет назад #
на форуме гдето в темах про спам читал о карме и о том, что был случай повышения кармы перед постингом. Не факт конечно что это боты, скорее всего вручную подняли, а затем включили бота.
+1
Александр Александр 11 лет назад #
Огромный плюс за проделанную работу, недавно сам на этом попался, похоже спамеры нащупали слабое место. Надеюсь, что теперь им путь будет перекрыт :)
+1
tokarev tokarev 11 лет назад #
любой сайт, который вышел на высокие позиции
у меня один сайт, только что созданный, с дефолтным наполнением от инстанта (Останцевый лакколит, и т.п.) начал ловить спам, а другой (в региональном ТОП-3 по 5 запросам) - тьфу, тьфу,тьфу, не ловит пока)))

Аффтару плюс однозначно, если под 1.9 кто уже ставил, поделитесь фпичатлениями, пжл...
+1
Керя Керя 11 лет назад #
молодец +
+1
Эдька Эдька 11 лет назад #
у меня стоит подтверждение по мыло. но боты почему-то не подтверждают акунты.
+1
Telema93 Telema93 11 лет назад #
У меня было бодобное, только 6 000 постов, чистил базу через phpmyadmin так как двиг не справлялся. однозначный +
0
savin2002 savin2002 11 лет назад #
У меня в версии 1.9 такая проблема. После того как ввожу код в капчу и отправляю, в правом верхнем углу браузера появляется надпись «Новая запись» и всё.
0
KS KS 11 лет назад #
как ставили ? код прописали или файлом?
если прописали вручную, возможно ошиблись строкой. Там есть похожие..
0
savin2002 savin2002 11 лет назад #
Код прописывал вручную и сверял с файлом. Пробовал несколько раз. Ошибки со строками нет.
0
KS KS 11 лет назад #
Так не подскажу. Пробовал по разному, ошибки такой нет. Попробуйте в другом браузере на всякий случай..
+1
myertelive myertelive 11 лет назад #
Хорошая вещь, на заметку
0
den4ik den4ik 11 лет назад #
Ребята в чем может быть проблема ?

Код PHP:
  1. Новая запись
  2. Fatal error: Using $this when not in object context in /home/***/***/www/core/cms.php on line 1872
0
KS KS 11 лет назад #
В файле cms.php есть функция public function request
у меня она обновлена до статической - public static function request
а там нельзя использовать $this , вместо этого должно быть self::

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

Код PHP:
  1. public static function request($var, $type='str', $default=false){
  2. if (isset($_REQUEST[$var])){
  3. switch($type){
  4. case 'int': return (int)$_REQUEST[$var]; break;
  5. case 'str': if ($_REQUEST[$var]) { return self::strClear($_REQUEST[$var]); } else { return $default; } break;
  6. case 'email': if(preg_match("/^([a-zA-Z0-9\._-]+)@([a-zA-Z0-9\._-]+)\.([a-zA-Z]{2,4})$/i", $_REQUEST[$var])){ return $_REQUEST[$var]; } else { return $default; } break;
  7. case 'html': if ($_REQUEST[$var]) { return self::strClear($_REQUEST[$var], false); } else { return $default; } break;
  8. case 'array': if (is_array($_REQUEST[$var])) { return $_REQUEST[$var]; } else { return $default; } break;
  9. case 'array_int': if (is_array($_REQUEST[$var])) { foreach($_REQUEST[$var] as $k=>$i){ $arr[$k] = (int)$i; } return $arr; } else { return $default; } break;
  10. case 'array_str': if (is_array($_REQUEST[$var])) { foreach($_REQUEST[$var] as $k=>$s){ $arr[$k] = self::strClear($s); } return $arr; } else { return $default; } break;}
  11. } else {
  12. return $default;}}
0
den4ik den4ik 11 лет назад #
Версия 1.9, файл заменял.
+1
RubA RubA 11 лет назад #
ещё бы прикрутить
Максима Симпл Капчу - воще было бы супер (я попробывал сам - не выводиться)
спасибо за работу
0
RubA RubA 11 лет назад #
Ещё бы после определения
что это спамер
как его все блоги снести - почистить сайт?

может кто подскажет?
0
BELIEVER BELIEVER 11 лет назад #
а 1.10.1 будет работать ????
0
BELIEVER BELIEVER 11 лет назад #
Извеняюсь работает))
0
WizarD WizarD 10 лет назад #
Не смог заставить работать на 1.9. И код добавлял и пробовал файл заменить - добавляется два новых поста подряд и все.
0
Александр Александр 10 лет назад #
Поставил на 1.10.4, все работает. Спасибо!
0
savin2002 savin2002 9 лет назад #
На 1.10.5 когда нажимаю "Новая запись" выскакивает белая страница.

Еще от автора

Похожие в Универсальном каталоге (хак для 1.x)
На одном из сайтов, где используется универсальный каталог для вывода различных товаров и тд, появилась необходимость сделать вывод похожих при просмо
Плагин  'Вставить фото из своих альбомов' (ver.1.10* & ↑)
Добрый день! Заметил одну особенность..
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.