Невидимый спам в комментариях – ссылки на пробелах
Когда закрываешь перед спамером дверь, он лезет в форточку. В переводе на язык блога это означает следующее – стоит в комментариях убрать поле для указания сайта, либо каким-то иным образом ограничить доступ к этому полю, как спамеры начинают пихать свои ссылки в текст комментария.
И делают они это вовсе не стандартным способом.
Теперь у спамеров пошла “мода” на то, чтобы ставить свои ссылки в комментариях на пробелы, т.е. вот так:
<a href="http://spamer.cn"> </a>
Браузер представляет такую ссылку невидимой для пользователя (даже при выделении всего текста на странице пробел не выделяется), а в коде она есть, поэтому будет учтена поисковой системой, что и является целью спамера.
По сути, такие ссылки, будучи администратором сайта, выявить очень легко – для этого достаточно получать на свое мыло все письма, сообщающие о новых комментариях. В таких письмах спам-ссылки прекрасно видно, так как представлены они там в виде кода.
Кроме того, если на блоге стоит спам-фильт, типа Akismet, подобные спам-комментарии, по идее, должны сразу переноситься в спам.
Однако, не смотря на 2 вышеупомянутых обстоятельства (либо письма не приходят, либо не используется спам-фильтр) комментарии, содержащие невидимые ссылки, попадаются мне на некоторых блогах.
Пример
Вот так видели (до недавнего времени) комментарий на одном из блогов все пользователи, в том числе и админ блога:
А вот так увидел этот коммент я, используя специальный ява-скрипт:
Каким мне видится решение проблемы
1. Написать плагин для WordPress, который бы фильтровал подобные ссылки (т.е. просто-напросто удалял) из текста комментария в момент публикации.
Минус данного решения я вижу в том, что в таком случае автор блога не узнает, что подобные ссылки публиковались, а, соответственно, не отправит спамера в положенное ему место (что, по идее, нужно делать).
2. Написать скрипт, который бы превращал эти невидимые ссылки в видимые, тем самым давая понять, что это спам-коммент. В данный момент у меня есть такой скрипт в двух вариантах исполнения: стандартным ява-скрипт-кодом (большое спасибо за него моему хорошему знакомому программеру) и скрипт, который я сделал сам на jQuery.
Их недостаток в том, что сложно четко ограничить их действие на определенный участок страницы, а на странице могут быть и вовсе не спам-ссылки на пробелах, которые связаны с особенностями дизайна сайта.
3. Написать плагин для WordPress (на PHP), который бы не вырезал эти ссылки, а просто выделял их, и в админ-интерфейсе, и прямо на сайте. Это, пожалуй, был бы самый лучший вариант, т.к. фильтроваться будет только текст комментариев.
Вот такие дела.
Ну что, есть желающие написать такой плагин? =)
У кого какие есть мысли по поводу темы статьи?
Обновление от 19.02.09
Вот готовая функция, которая выполняет то, что описано в 3-м пункте (см. выше). В файл functions.php
своей темы добавьте следующий код:
function show_me_the_spam_links($comment) {
return preg_replace(
'#<a.+href=["\']?(https?:\/\/[^\s"\'\>]+)[\'"\s].+>[\s\.\,\_]*<\/a>#msiU',
'<a href="http://anonym.to/?$1" title="Похоже на спам-ссылку" style="border: 1px dotted #F00 !important; background: #FF6 !important; padding: 2px 4px !important; color: #03F !important">$1</a>',
$comment);
}
add_filter('comment_text', 'show_me_the_spam_links', 10000);
Все ссылки на пробелах, точках, запятых и нижнем подчеркивании становятся видимыми и выделяются особым цветом.
Комментарии (72)
Написать не напишу, но такой плагин хотелось бы заиметь :)
а для DLE есть чтото подобное? а то задолбали уже
Как по мне, то капчу в любом случае ставить нужно … Ну, а вобще, порой такие комменты оставляют что сложно отличить от спама …
Спасибо.
А для Joomla 1.5 есть подобное решение?
Не хочу показаться некропостером, просто только что прочел эту статью. Есть еще вариант для подобных ссылок – при попытке оставить комментарий CMS сайта должна его проверить и при обнаружении ссылок выдать что-то вроде “недопустимые символы в теквсте” и не дать его опубликовать
спасибо большое)пригодится.но я пока справляюсь со спамом вручную
Волнуют два вопроса. Показывает ли исходный текст страницы скрытые ссылки комментария и как можно заключить все комментарии тегом noindex?
Конечно показывается.
Поставить какой-нибудь плагин, который вставляет его автоматически, либо вручную вставить в шаблон.
Либо я чего то не понимаю, либо люди привыкли работать в редакторе! Если работать в тегах, а научиться набирать текст, даже для собственных постов, переключая регистры и сразу расставляя теги в ручную, чего может быть проще!
Правда надо отметить, что спамеры ходят косяками! У меня был период, когда повалил ручной спам! Но потом всё стихло! Akismet активировал совсем недавно, не видел перехода на бесплатное использование, бывает, теперь сразу поставил на новый проект.
Активировал и еще один какой то плагин, который создает пустое поле и при автоматических заполнениях, сразу отправляет на страницу с сообщением о том что Вы спамер! Antispam Bee называется, правда при таком плагине не работает easyComment, но это не важно! Еще где то добавить можно список слов, по которым сразу в СПАМ!
Но больше всего достало неграмотное оформление комментариев, сам правлю если нахожу интересным! Иногда, глумлюсь в ответах, отправляя в школу!
Подскажите пожалуйста, тэг тоже самое что rel=”nofollow” ?
Нет, rel=”nofollow” – это параметр тега ссылки.