Против спама форм, комментариев рецепт (не капча!)

Про всё, отправку сообщений и заявок, итд. Рецепт простой, я им всегда пользуюсь, понятно, что это со временем должно усложниться.

Короче, все куки, посылаемые в HTTP-заголовках, спам-машины давно поддерживают.

А вот куки, которые устанавливаются на странице яваскриптом, пока еще нет. Понятно, почему – исполнять весь js запариться можно, и результат может зависеть от действий пользователя.

Так что сейчас я тупо на все страницы ставлю js код вида

<script>document.cookie="cookiename=cookievalue;";</script>

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

RewriteEngine on
RewriteCond %{REQUEST_METHOD}  =POST
RewriteCond %{REQUEST_URI} wp-comments-post.php$
RewriteCond %{HTTP_COOKIE} !cookiename=cookievalue
RewriteRule (.*)$ nahooy.html [L]

(это все POST запросы в скрипт комментариев на ВП без нужной куки посылаются нахуй)

Результат – весь спам в форму как отрезало, но немного все же проходит, я думаю, либо руками спамят, либо хьюман-эмулятором, если он еще жив.

И – без капчи.

почтовый офис от Яндекса. Будет влиять?

Да, пожалуй, должно влиять на органическую выдачу. Надо попробовать для начала просто по мылу порассылать ссылок на продвигаемые сайты. Потом и позаходить на них. Идея для очередной биржи накрутки.

http://clubs.ya.ru/company/replies.xml?item_no=72590
http://api.yandex.ru/postoffice/
http://mail.yandex.ru/promo-postoffice

Почтовый офис от Яндекса — сервис для отправителей писем, с помощью которого можно проверить эффективность рассылок.

Регистрируя свои рассылки в Почтовом офисе, отправитель получает возможность:

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

спам: а яндексу можно, типа?

яндекс предупреждает о заражении в письменном виде

Теперь уведомления рассылаются всем, чей сайт подвергся атаке злоумышленников.
***
Адреса доставки уведомлений – указанные в whois или стандартные общепринятые технические адреса (например, webmaster@, admin@, support@)

-это ж боян, такой спам уже давно ходит. Типа ааа, ваш сайт заражен.
а Яндекс считает, что ему то же самое можно, это типа не спам, если от яндекса.))

Каждое письмо содержит ссылку на отписку от уведомлений

-ага, у спамеров тоже содержит.

фильтр АГС-17: выпадение сайтов из Яндекса

Почему-то не на блоге компании, а на сёрче:
http://www.searchengines.ru/news/archives/008057.html

С начала сентября многие оптимизаторы стали замечать, что на некоторые сайты Яндекс накладывает фильтр, в результате чего в индексе остаётся минимальное число страниц. В Яндексе подтвердили существование автоматического фильтра – АГС-17.

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

Какое количество страниц будет проиндексировано – зависит от многих факторов, в том числе от качества контента, интереса пользователей к ресурсу и соответствия сайта поисковой лицензии, особенно это касается пункта 3.5. В некоторых случаях число страниц может быть и меньше 10, и больше 10. В любом случае проиндексированных страниц должно быть достаточно для того, чтобы сайт находился по основным запросам, на которые он может дать хороший и релевантный ответ», – прокомментировал для Searchengines.ru менеджер проектов по борьбе с поисковым спамом компании «Яндекс».

Фильтр АГС-17 был введён три года назад. При этом его работу оптимизаторы стали замечать только сейчас. По мнению отдела качества поиска, это объясняется тем, что в последнее время стало появляться большое количество сайтов, страницы которых не выдерживают подобной проверки.

Отметим, что у яндексовского АГС-17 есть тёзка среди современного стрелкового оружия – автоматический станковый гранатомёт АГС-17 «Пламя».

Прикольно, что уже три года существует, видимо, именно сейчас говносайтостроение стало очень массовым. И обучалка обучилась.
на будущее: надо собрать список выпавших говносайтов, качнуть и посмотреть на общие их признаки.

По своему опыту – есть парочка “новостных сайтов”, вообще одинаковых, с кучей копипащенных новостей, ссылка на источних яваскриптовая. Но один на новом домене-нулевке, второй – на брошенной тИЦ10. Раньше на первом было около 50 тыс страниц в индексе, на втором – около 75 тыс.
Трафа на первом было 20-30 хоботов в день, на втором – 250 в день.
Сейчас проверил – на нулевке осталось порядка 10 тыс. страниц, на втором – примерно как было, около 70 тыс.
Контент обновляется везде, добавляются страницы, ссылки не продаются.
Нулевка вылетела, но трафик на нее не изменился – как был близкий к нулю, так и остался.
Понятненько, что тиц 0 – первый признак говносайта :), но и траф тоже фактор (проскакивало, что яндекс у лиру берет данные или парсит их каталог, я в это верю).
Так что вот.

Яндекс-вебмастер: “слишком много ссылок” ~ 3000

Втыкаю в “панель вебмастера”, обнаружил новое забавное.
В разделе “ошибки” есть ошибка под названием: слишком много ссылок. Таких ошибочных нашлось 44 страницы. Это страницы со ссылками на внутренние страницы сайта в большом количестве – такого плана http://www.nomina.ru/current/added.php?date=2008-08-19 Ну а поскольку в некоторые дни доменов регистрируется особо много, то и страницы такие есть.
Там же ссылка на хелп http://help.yandex.ru/webmaster/?id=995304 :

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

Документ содержит мета-тег refresh Документ не индексируется, т. к. содержит мета-тег refresh. Этот тег заставляет страницу обновлять свое содержимое, из-за чего пользователи, найдя ее в поиске, не смогут увидеть текст, который проиндексировал робот.
Документ содержит мета-тег noindex Документ не индексируется, т. к. содержит мета-тег noindex.
Неверная кодировка Документ содержит символы не соответствующие заявленной кодировке.
Документ является логом сервера Документ распознан как лог сервера. Если это страница, созданная для посетителей сайта, попробуйте изменить ее так, чтобы она не была похожа на лог сервера.
Неверный формат документа При анализе документа обнаружено несоответствие документа заявленному формату (html, pdf, doc, rtf, swf, xls, ppt).
Кодировка не распознана Кодировка документа не распознана. Возможно, документ не содержит текста или содержит текст в различных кодировках.
Язык не поддерживается Язык документа не распознан, либо не поддерживается. Поддерживаются русский, украинский, белорусский, английский, французский и немецкий языки.
Слишком много ссылок Количество ссылок на странице превышает допустимый предел.
Ошибка распаковывания Произошла ошибка при распаковывании gzip- или deflate-потока данных с сервера.

Я посмотрел – навскидку на этих “ошибочных” страницах было примерно 3100 ссылок (не считая меню), например: 3213, 3250, 3202, 3283, 3185, 3107, 3198, 3137. Так что “слишком много” – это три тыщи ссылок.
Причем эти страницы, на которых много ссылок – отсутствуют в выдаче. По урлу нет. По тексту не смотрел. То есть – совсем большая ошибка. 🙂
Но если повытыкать в хелп, есть интересные пункты. Например, “Документ является логом сервера”. Уж не статсы ли это вебалайзера? 🙂 Или просто текстовый файл имеется в виду?
Но еще интереснее “Неверная кодировка”: Документ содержит символы не соответствующие заявленной кодировке. Это что же получается – если случайно кто-нибудь наспамил в форму не в той кодировке, документ не проиндексируется? Или, например, поставили сапу на сайт и неправильно кодировку указали? 🙂
Надеюсь, все-таки имеются в виду все символы документа. Хотя на случай части неправильных символов есть “Кодировка не распознана” – Возможно, документ содержит текст в различных кодировках. Мдя. Наспамить в комменты в не тех кодировках и страница вылетит?

В этом хелпе “Ошибки загрузки” тоже интересные.
Размер текста превышает заданный предел – интересно, сколько?
Неверная длина сообщения, Передано неверное количество данных – он как бы хочет сказать нам, что на всякий случай content-length вобще лучше не выдавать? 🙂
Длина HTTP-заголовков превышает предел – Длина HTTP-заголовков превысила предел. Возможно, это вызвано попыткой передать слишком много cookies. – интересно, сколько. Я где-то читал, что 4 килобайта куков поддерживается. Интересно, сколько у яндекса.
Длина URL превышает предел Длина адреса (URL) превышает предел – тоже вроде 4 кб стандартно. Интересно, сколько у яндекса.

Короче – 3000 ссылок – это слишком много. Даже внутренних. 🙂

Об автобанах

Народ на сёрче регулярно жалуется на автобан, вот например: Автобан за CMsimple.
Тут же часть народа рапортует – мол, точно бан, столько-то сайтов забанено! Другая часть не менее бодро отчитывает тех – мол, за цмски не банят!
🙂
Сэры, не надо забывать, что общая идея яндекса – обучение программ. Например, есть сайтик, заходит на него асессор – и помечает как спам или как нормальный сайт. А потом железный компьютер думает – есть набор сайтов и набор меток. И у каждого сайта набор признаков.
И цель состоит в том, чтобы каждому признаку или совокупности признаков (какие они?) сопоставить сколько-то спаммерских баллов. И, например: превысил границу по баллам – автобан.
А почему бы отдельные элементы кода (или там структуру сайта) и элементы сайта (отсутствие цифирок, похожих на телефон, отсутствие контактных мейлов, форм обратной связи) не считать такими признаками? И они бы добавили свой балл в общую спамность сайта.
И по совокупности – бан.
Таким признаком может быть и общее большое число внешних ссылок. 🙂

пеар линкаторов в Ашмановской рассылке

В выпуске рассылки Ашманова мощно задвинули: “Hекролог ссылочным биржам” 🙂

А точнее, некий Николай Евдокимов из Unmedia.ru: “Новый алгоритм ссылочного ранжирования; инструкция к применению”.
Ну, на мой взляд, инструкций и вообще полезного там нет, но прикольно другое. Где-то с середины статьи начинаются бодрые рекомендации: типа надо кольцевой обмен ссылками делать (как будто его только что открыли…), и, через систему trafx 🙂

Причем говорится с таким видом, как будто они (unmedia) вообще к trafx не относятся… Вот как-то так:

В результате мы выбрали не самую известную и очень, видимо, маленькую, но вполне технологичную и прозрачную с точки зрения взаимоотношений систему ТrafX.ru. Хотя она и небольшая, но быстро растет…

Не хотелось бы, чтобы это выглядело, как реклама;

Декларации системы звучат одновременно и привлекательно, и, скажем так, попсово.

Нам понятно, что нас приглашают участвовать в системе кольцевого обмена ссылками

Не совсем понятна модель функционирования подобного бизнеса. Система разработана очень продуманно и денег в нее влито достаточно много, это становится ясно при первом взгляде на функционал. Как уже сказано, из всех систем обмена ссылками TrafX.ru – единственная…

-и ведь забавно так, даже немного отрицательных моментов добавлено… Ясное дело, “Не хотелось бы, чтобы это выглядело, как реклама” 🙂

И сразу на форуме бодрые темы поднимаются насчет замены Сапе (1, 2)…

Сомнения разрешаем таким образом: http://www.nomina.ru/search/mywhois.php?domain=trafx -данные вхуиза кешированы от конца марта (сейчас они другие), и там забит телефончик +7 495 2349097 – а поиском по нему находим в списке доменчик unmedia.ru…

Так что их это системка, их. И вот нафига так обманывать народ? Нет, я понимаю, что ведущую рассылки обмануть легко, но неужели Анмедиа думает, что к ним сейчас все вебмастера ломануццо?
Да хрен там.

ПС систему не смотрел 🙂

Линкспам мастдай! Берите скрипт!

Написал конфирмер для защиты форм от роботов. Бесплатно! Берите! 🙂
Описание задесь: http://promosite.ru/services/confirmer.php
Пример работы: http://promosite.ru/services/confirmer/form.php
Скачать: http://promosite.ru/services/confirmer/confirmer.zip
Требуется возможность работы PHP с графикой, а именно функции imagecreatefromgif, imagegif.
***
Это бесплатный комплект скриптов на PHP, который позволяет на любую форму установить проверку юзера на человечность. Особенность конфирмера: НЕ НУЖНО использовать сессии при работе! Картинки не генерятся индивидуально для пользователей, но защита вполне достаточная.

Комплект состоит из:
1. файл confirmer_pic.php, который генерит картинку с нужным числом псевдослучайных символов, меняющихся раз в минуту
2. файл confirmer_include.php, который знает алгоритм генерации картинки и проверяет введенную строчку на правильность. Должен находиться в той же директории, что и (1).
3. файл form.php, пример использования кода. Он инклюдит confirmer_include.php и получает результат проверки в виде переменной $confirmer_result (=0,1) и показывает картинку счетчика $confirmer_pic. Должен находиться в той же директории, что и (1,2), т.к. вызов картинки идет из той же директории. Вы можете это исправить сами.
4. директории с графической подложкой и GIF-картинками буковок. Эта директория прописана в файле confirmer_pic.php, вообще ее желательно прятать от чужих глаз. Все картинки можно менять на свои! Вы можете создать свой конфирмер, использовать свои картинки.
Картинка генерится на основе номера минуты, зашифрованного функцией crypt() с параметром $confirmer_salt. Эта строка (фактически: пароль) должна быть одинаковой в скриптах confirmer_pic.php и confirmer_include.php – иначе ничего не получится.
Пароль $confirmer_salt снаружи можно подобрать… 🙂 но это очень-очень долго :).
В параметре $confirmer_num файла confirmer_include.php задается число буковок, которые надо вводить юзеру в поле.
Картинка валидна в течение $confirmer_min минут после ее создания. Просто скрипт confirmer_include.php проверяет все значения, соотвествующие прошедшим минутам.

Работает конфирмер просто:
1. В начале скрипта form.php вы инклюдите confirmer_include.php.
2. Если запрос пришел методом GET, он выставляет переменную $confirmer_pic, которая содержит html-код: картинку с пояснением.
3. Если запрос пришел методом POST, он выставляет переменную $confirmer_result, которая равна 1, если юзер ввел правильный код, или 0, если неправильный (в этом случае он устанавливает $confirmer_pic и просит повторить ввод). Анализируете эти данные и делаете свои дела.

Эффект от спама

Пришло письмишко спамовое (через мастерхостовый ящик):

SUBJ: он опять изменил тебе
Солнышко, да он просто оборзел, я прeдставляю как тебе с ним тяжeло!
Он, наверноe думаeт, что eсли купил тебe этот паршивый Cитроен и две шубы, то большeго ты недостойна.
Тебe надо скореe бeжать к магу Ильe Герману, он просто волшeбник.
Cама знаeшь, два года назад я ходила по Москвe бeз рeгистрации и работала сeкретуткой у своeго Патрика.
А после того, как сходила Илье на прием, мой козлище купил мне пeнтхаус на Кутузовском и магазин.
По-моeму, тeл. сeкретаря И. Гeрмана 729-4З 17 или зайди CЮДA

Обратите внимание на счетчик Хотлога. К этому моменту 1855 хостов.

Мастерхост и его спам

у них, вроде бы, была приличная защита от спама…
а теперь несколько дней приходит прилично много спама через них. То ли кончилась поддержка кого-то из спамфильтрующих сервисов, то ли “облегчили” критерии убийства спама…