Как я могу предотвратить спам на сайтах, которые я контролирую?

27

Это общий вики-вопрос сообщества, посвященный всем неконкретным вопросам предотвращения спама.

Если ваш вопрос был закрыт как дубликат этого вопроса, и вы считаете, что информация, представленная здесь, не дает достаточного ответа, пожалуйста, откройте дискуссию о Pro Webmasters Meta .


Для целей этого вопроса спам будет включать в себя:

  • Любой автоматический пост
  • Размещенный вручную контент, который включает ссылки на сайты спамеров
  • Размещенный вручную контент, который включает инструкции по посещению сайта спаммера
danlefree
источник

Ответы:

27

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

Отключить весь пользовательский контент

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

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

Аутсорсинг пользовательского управления контентом

Такие сервисы, как Disqus, позволяют веб-мастерам осуществлять отбор, хранение и публикацию пользовательских комментариев. (Примечание. Для использования сторонней службы требуется дополнительная настройка, чтобы поисковые системы могли проиндексировать комментарии)

CAPTCHA,

Согласно Википедии , CAPTCHA означает «Полностью автоматизированный публичный тест Тьюринга, чтобы отличить компьютеры и людей». Любой автоматизированный тест, предназначенный для предотвращения публикации контента на компьютере, является CAPTCHA: он включает в себя принуждение пользователей к чтению букв, цифр и слов из изображений, выполнение простых словесных головоломок или математических вопросов или иное «доказательство», что они люди.

Недостатком CAPTCHA является то, что

  1. Большинство форм CAPTCHA обеспечивают уровень раздражения для пользователей.

  2. Они не на 100% защищены. Обратите внимание, что многие из этих тестов могут быть выполнены компьютерами, если компетентный программист решит потратить достаточно времени и усилий на решение проблемы.

Q & A CAPTCHA

Самым эффективным CAPTCHA для небольших сайтов является вопрос и ответ CAPTCHA. Q & A CAPTCHA - это вопрос, на который веб-сайт просит пользователя ответить. Вопрос в том, что любой, кто посещает сайт, будет знать, но что компьютерная программа не будет знать. Примером вопроса для сайта о SEO будет «Что означает SEO». На этот вопрос было бы легко ответить среднестатистическому читателю этого сайта, но любая компьютерная программа не смогла бы это сделать.

ПРИМЕЧАНИЕ: вопросы типа «что такое 1 + 1» не работают должным образом, потому что они часто используются, и люди, которые создают спам-боты, программируют их, чтобы правильно отвечать на такие вопросы.

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

Скрытое поле

Если у вас есть форма, и вы не хотите, чтобы спаммеры могли использовать ее, хорошим способом остановить ее является использование скрытого поля. Их очень просто настроить: добавить избыточное поле в форму, спрятать его через css (или JavaScript) и остановить все, что пытается ввести значение в это поле. Обычные пользователи не смогут видеть поле и будут игнорировать его, потому что оно скрыто от них, но компьютерные программы, используемые спамерами, будут пытаться ввести значение в это поле, потому что они не обрабатывают CSS или javascript. Чтобы побороть спам-ботов, которые загружают CSS или Javascript, вы можете добавить в формы дополнительное поле с просьбой оставить его пустым. Любой человек посетитель оставит его пустым, и вы можете легко заблокировать ботов, которые добавляют данные в поле. Не забывайте, что это может сделать сайт непрофессиональным.

Анализ трафика и контента

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

Существует множество сторонних CAPTCHA и решений для анализа трафика, которые бесплатны (или дешевы), и большинство программ для управления контентом с открытым исходным кодом содержат интегрированные модули для использования таких сервисов, как Akismet и reCAPTCHA .

Блокировать слова, обычно содержащиеся в спаме

Если вы заметили, что спам на вашем сайте обычно содержит слова, которые не используются (или не используются) законными пользователями (например, «бесплатные ссылки на ваш сайт»), то блокирование пользователями возможности размещения этих слов является эффективным решением. Если вы беспокоитесь о том, что пользователи, которые законно используют эти слова в своих публикациях, испытывают проблемы с публикацией на вашем сайте, вы можете настроить фильтр таким образом, чтобы он игнорировал сообщения от установленных пользователей.

rel="nofollow"

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

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

Модерация пользователями

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

Gamification

Геймификация - отличный способ мотивировать пользователей сообщать о спаме. Подумайте о том, чтобы добавить на свой сайт функцию «веса флага»: чем больше сообщений о спаме пользователи, тем больше очков они получают. Это сделает поиск спама более увлекательным и даст людям, которые сообщают о своих правах хвастаться спамом. Это, в свою очередь, побудит пользователей сообщать о спаме.

Модерация администраторами

Человек должен просмотреть каждый элемент контента, опубликованный до того, как он будет опубликован на сайте - хотя это не предотвращает публикацию спама, но предотвращает его отображение посетителями сайта (таким образом снижая ценность сайта для людей-спамеров) ,

Регистрация пользователя

Регистрация пользователей является улучшением по сравнению с CAPTCHA, потому что пользователи вынуждены доказать, что они являются людьми, один раз, прежде чем им будет позволено комментировать, когда им будет удобно - это технически не является другой формой предотвращения спама, хотя она действительно устраняет спам, созданный конкретный пользователь или группа пользователей (определяемая именем пользователя, электронной почтой, IP-адресом или другим идентифицирующим фактором) легче обеспечить.

Умеренные новые пользователи

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

Ограничить возможности нового пользователя

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

Взимать плату с пользователей

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

Только по приглашениям

Если вы разрешите регистрироваться только тем людям, которые были приглашены другими пользователями, это несколько уменьшит спам (люди обычно не приглашают роботов).

Следующее из проекта BOTCHA , Drupal.

Горшок меда

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

HoneyPot2

То же, что и выше, но в качестве источника расчета используется не значение конкретного поля, а данные из CSS.

ObscureUrl

Аналогично HoneyPot2: построенный JS сравнивается с необходимостью. Разница в том, что начальное значение передается через GET-параметр.

Вывод

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

danlefree
источник
1
+1 через ответ! Я хотел бы добавить, что вы можете внедрить какой-либо тип системы вознаграждений для пользователей, которые сообщают о спаме, как часть метода «Модерировать по пользователям». В приложении, которое я создаю сейчас, пользователи, которые успешно сообщат о спамерах, получат «очки убийцы спама», которые похожи на права хвастовства, которые появляются в их профилях. Кроме того, они могут тратить эти баллы, как валюту на сайте, чтобы достичь более высоких результатов листинга при поиске в профиле. Конечно, это открывает возможность для злоупотреблений, поэтому я должен найти какой-то способ борьбы с этой формой спама, если он возникнет.
JakeRow123
@ JakeRow123 Я добавил раздел о геймификации: не стесняйтесь редактировать его и добавлять свои мысли.
5

Мы недавно устранен спам от нашей Обратной связи формы с очень простой реализацией. Мы добавили ввод, который был помечен как «URL:» в форме HTML, и сделали его невидимым для реальных пользователей. Затем в обработчике формы мы проверяем, имеет ли оно значение, и действуем соответственно.

Спам-боты постоянно клюют на приманку; они вставили URL на какой-то спам-сайт. Наш сценарий видит это и отбрасывает комментарий (на самом деле, мы перерабатываем биты, потому что мы пытаемся быть более экологичной компанией). Какое-то время мы все еще сохраняли оскорбительный комментарий в таблице базы данных для проверки, но отказывались отправлять результаты по электронной почте куда угодно. Вот как мы знаем, это сработало.

С помощью этого простого метода мы отправляли около 30+ спам-сообщений «Свяжитесь с нами» в день в ZERO.

Удачи с тем, что вы выберете!

WebDevKev
источник
Во входную <form> мы включаем: <p class = "antispam"> Оставьте это поле пустым: <input name = "url" width = "200" /> </ p> В скрипте обработки имеем: if (isset ($ _ SESSION ['url']) && $ _SESSION ['url'] == '') {mail ($ to, $ subject, $ body, $ headers); }
WebDevKev
1

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

Однако вы должны знать о ложных срабатываниях. Итак, что я сделал, так это создал «атрибут спама» на моем объекте публикации и установил для него возвращаемое значение Akismet. Если сообщение будет помечено как спам, я сообщу себе и по электронной почте, после чего смогу решить, спам это или нет.

DOFs
источник
3
Это универсальный вопрос и ответ вики - сообщества - основное внимание общей информации о предотвращении спама для использования при закрытии дублирующих вопросов. Вы можете добавить свои рекомендации в список, если хотите.
danlefree
+1 Акисмет, кажется, делает довольно хорошую работу, не получает их всех, и иногда блокирует законные комментарии, но 99% времени это правильно
Сэм
0

Пожалуйста, посетите MediaWiki.
Поиск расширения: Модерация
Это расширение поможет вам предотвратить спам на сайтах, которые вы контролируете.
Я использовал это расширение MediaWiki много раз.
И это останавливает ботов от создания статей спама.

jehovahsays
источник