Плагин "CSRF Blocker (Антиспам)"
Всем привет!
Хочу представить Вам свой второй плагин «Антиспам». У меня на livestreet есть пару сайтов и постоянный спам заставил написать это плагин. В настоящий момент плагин имеет уже вторую версию и в нем были исправлены некоторые недочеты. Цену на плагин назначил чисто символическую (100 рублей). Основными мотивами создания платного плагина стали желание понять на сколько этот плагин востребован и чтобы при необходимости можно было отвлечься от повседневной работы и улучшить его.
Плагин можно приобрести в каталоге.
87 комментариев
Описание работы уж очень скупое)). Механизм не понятен… хотя для меня как для юзера — в принципе оно видимо ни чего и не дало бы.
Проблема спама очень актуальна, в последнее время и вправду он начал утомлять. Попробую Ваш плагин — посмотрим как он справится.
Я поставил плагин к себе на несколько сайтов и пока он успешно справляется.
Если ты сможешь обойти защиту плагина и распишешь как ты это сделал, я с удовольствием попробую исправить эту уязвимость)
Если суть плагина защита от CSRF — то это не защита от спама. Это зашита от CSRF. Что не плохо. Но не то.
Сross Site Request Forgery — «Подделка межсайтовых запросов». Если Вы думаете что посты публикуются вручную, то Вы ошибаетесь.
Ваше право. В настоящий момент плагин купили уже 7 раз и недовольных пока нет.
Идея все та же CSRF.
При создании топика генерируется уникальных хеш-код, а при сохранении проверяется его наличие и корректность.
Но почему это зашита от спама? Ну точнее, частный случай — да. Редкий. Но от спам ботов — которые и есть основная беда — это никак не поможет.
А если спам прекратился? Написали бы положительный отзыв?
это та же «капча», только плагин сам же её генерирует и вводит верное значение
Речь о том, что надо назвать вещи своими именами. Защита от CSRF это не защита от спама. Это не одно и тоже. Просто уязвимость этого типа может в частности использоваться и для спама, да. В частности. А спам в частности может появятся и другими путями а не через дыры такого типа.
Что не отменяет того факта что сам по себе плагин — полезен. Если сделан правильно.
Если назвать плагин «Защита от CSRF атак», то никто не найдет его в каталоге и пользы от него будет ноль.
А в таком виде это — подмена понятий. Почему плагин и вызвал столько вопросов, и не только у меня, судя по количеству плюсов у моего первого комментария.
catalog.livestreetcms.com/addon/view/372/
Если же плагин назывался «Защита от CSRF атак» — ни когда в жизни не обратил бы на него внимание, т.к. как юзер даже и не знаю что это такое…
в этом топике не должно быть слов «Защита от CSRF атак» т.к. выходит что плагин — вода. Поэтому пробуйте более простое описание «плагин создает тайное поле на форме (через ЖС), значение которого сравнивается на сервере».
Если бы этой защиты было достаточно, то тогда и плагин не было смысла писать. Но спам-посты публикуются — это факт!
P.S. PSNet , а эта стандартная, вшитая в LS CSRF-защита не выключена, по умолчанию, часом?
или
и с помощью ваших админских прав удаляют неугодного пользователя из системы. википедия расскажет больше.
нет. но она не от спама, в первую очередь, как писал выше.
Я не большой специалист в атаках, но мне кажется что плагин улучшает все же CSRF c помощью javascript.
Как?
Давайте разбираться.
Если я правильно понял — плагин в POST запрос создания заметки добавляет поле с каким-то уникальным для каждого запроса хешем, который проверяется на стороне сервера. Но это защита CSRF чистой воды, которая по словам PSNet (а он хоть и злой, но всё же серьёзный LS-эксперт, которому можно верить) уже есть в движке.
Здесь что-то не понятно.
технология у вас та же, но не для того же.
То что написано в Википедии я читал.
Цитата из нее же:
В и т.д. я бы отнес публикацию топика. Спамеры создают на целевом сайте учетную запись, которая в дальнейшем и становится жертвой. Затем средствами CURL они авторизуются на сайте и предают данные для публикации от имени жертвы. По-моему самая, что не на есть межсайтовая атака. В той же Википедии есть ссылка на статью "CSRF – атаки. (Cross-Site Request Forgery)" в которой написано что CSRF может быть осуществлена:
Я бы сюда еще отнес CURL.
Если Вы считаете что данные метод относится к другим видам атаки, то расскажите нам к какому и почему!
Я не понимаю почему от той же проблемы не помогает security_ls_key — который уже есть.
С этой точки зрения плагин, который генерирует дополнительное защитное поле (не известное стандартным ботам) должен помочь? Правда до следующего обновления бота. =)
Сценарий описанный выше господином prokopov к CSRF отношения, конечно, не имеет — там нет факта попытки «взлома» чужой сессии.
Поэтому я и не понимаю всю эту тему.
Проблема стандартной защиты заключается в том security_ls_key передается вместе с html-кодом страницы.
Принцип защиты плагина построен на javascript и срабатывает после полной загрузки страницы.
Но на самом деле если спамер не дурак, то информация о принципе работы плагина здесь уже полностью изложена, хоть и не прямым текстом.
Обязательно опишите проблему если она возникнет в разделе техподдержки плагина. Спам не только может надоедать, но и может нанести вред сайту. Один мой домен заблокировали из-за публикации на нем запрещенной информации. Поэтому совершенствовать плагин в моих прямых интересах.
Если например Вы на странице своего сайта (site.ru) встроите iframe с ссылкой на vk.com, то DOM объект страницы внешнего сайта Вы получить не сможете. Это запрещено политикой безопасности браузеров. В противном случае все учетки бы давно уже сломали.
Gmugra , ну что я на все вопросы ответил? Идем покупать плагин :D
lifecom все верно сказал. ЖС давно понимается пс, думаю и боты могут загружать страницу и жс вместе с ней.
Что стоит просто просмотреть на параметры HTTP-реквеста которые браузер посылает серверу при постинге?
Что стоит посомотреть пристально на код javascript котрый осуществляет манипуляции??
Не думайте что для ботоводов представляет хоть какаю-то проблему понять на основе какой идеи работает этот плагин.
С другой стороны, почему я, как клиент, должен верить автору на солво что это вообще работает?
Так что описание того что делает плагин и почему это помогает конечно должно быть. Чего не было. И чего из автора пришлось вытягивать клещами.
А насколько эта защита вообще эффективна я пока ещё не решил :) раздумываю :)
он по ДОМРеди добавляет спец поле в форме (возможно, получает его значение с сервера через аякс), а при публикации контента сравнивает. Совпало — человек, нет — наказать.
И вся надежда на то, что бот не поймет ЖС.
Других защит просто нет и не бывает. И работает ровно до того момента, пока боты не научатся работать с ЖС или если уже умеют и плагин будет массово используемым — откорректируют алгоритмы постинга для добавления этого поля т.к. для 2-3 сайтов менять логику не «рентабельно».
Похожий плагин только бесплатный кто-то делал, но для регистрации на сайте.
Бот «в дефолтной» упаковке — не поймёт. Так что от «нюбо-спамеров» это поможет. Потому что «нюбо-спамеры» не осилят писать спец обработчик для бота. И это уже не плохо.
Тут же вычитал, что эффективным методом также может быть проверка на referer-а.
А вот что пишет Xrumer (наиболее известная спам-программа)
:)
Этот плагин я поставил сразу, юзеров удалять не стал, посмотрю что будет дальше. Зарегано 2.12.13 — пока спам топиков нету… и это радует, я надеюсь что плагин помогает. Активацию учетной записи пока тоже не включал. Но плагин расширенной регистрации с каптчей видать спокойно проходят…
К сожалению от ручной регистрации учёток для ботов плагин защитить не сможет.
Как уже говорил выше:
Если у кого есть полезная информация по этим вопросам — пишите в комментариях.
Я себе пока в .htaccess вбил по совету из ссылки выше такое:
Не знаю насколько он отсечет зарубежных спамеров, Украину не отсечет:)
Интересное совпадение:) Сайт по ссылке выше — это что то типа Мой крым (про туризм, санатории какие то… странно, что вообще такие статьи я на нем нагуглил) Проверил IP 31.131.77.224 тот что на моем скриншоте выше — показывает Евпатория (Крым:)))
Раньше спамеры приходили по трое — регистрировались и через какое то время начинали плодить топики. Сейчас иногда они по трое заходят на сайт — висят по пол дня в онлайне, но топиков со спамом нет… Делаю вывод — плагин работает)
Сейчас вот один подозрительный висит в онлайне, но Яндекс-метрика его не видит.
Правда, вот походу регистрироваться спамеры продолжают но как автор писал выше — скорее всего регистрация происходит вручную.
Кто что думает на счет того что бы к плагину прикрутить функционал от www.stopforumspam.com/
Этот сервис представляет собой базу спамеров, на основе их сервиса есть плагин антиспама для форума на SMF — не на 100% но помогал, регистрация спамеров сократилась после его установки, там можно настраивать по каким параметрам проводить сверку.
Там же есть и API — видимо для создания плагинов на основе их сервиса.
Только вот я не понял как в их базу вносятся спамеры — автоматически, если я кого то помечаю как спамера или это происходит по другому не разбирался…
Есть ли у кого еще опыт использования данного сервиса и мнение на счет его полезности?
я описывал присутствие непонятного юзера, висящего в онлайн — по ряду признаков он является спамером…
Вопрос к сообществу и автору — есть ли способ таких определять как спамеров и вычищать из базы юзеров?
Правда не хочется ошибиться и удалить нормального посетителя… Отсюда вопрос — если юзер не появляется в яндекс-метрике — может ли быть это обычный человек, но с включенными какими нибудь блокирующими настройками браузера и т.п.?
Есть ли возможность что-то придумать — что бы гарантированно определяло его как спамера. Может при следующем входе/посещении задавать какой нибудь вопрос в всплывающем окне? мне тут трудно придумывать — я не разработчик(
Гарантированно определить, спамер ли посетитель (до его действий по спаму) или нет, на сколько я знаю, на данный момент невозможно.
Нынче многие headless браузеры умееют и js, и ajax. Т.е. любые ограничения ввиде капч/вопросов робот может обойти.
Ну это в принципе понятно — автоматически можно видимо это определять только с определенной долей вероятности…
Но можно же как то помечать для повышенного контроля за ним…
а если ему например в личку автоматически письмо отправлять и если не ответит — удалять?
Вот сейчас опять трое висят с одного IP — в метрике их не видно…
И вот еще других:
Первый, потому что за 3 секунды успел авторизоваться и написать пост. Это не реально.
Второй по той же причине.
Если при этом эти товарищи еще и в вебмастере не светятся, то можно баннить смело.
И эти косвенные признаки позволяют их выявлять при желании. Но сейчас посетителей не много — при росте посещаемости в ручную будет сложно их вычислять…
Вот как бы их автоматом банить или помечать? Может как раз учитывать скорость постинга?
У кого какие мысли как это лучше реализовать чтобы было удобно и понятно?
У меня на одном форуме на SMF данный плагин сократил значительно регистрацию юзеров — заподозренных или уличенных в спаме. Не сказать что на 100% — но тем не менее количество упало резко.
Другой момент — это то что ни один спамер на LS — при ручной проверке по этой базе не подходил под спамеров, видимо из-за того что популярность LS как движка ниже тех кто пользуется этим сервисом.
Но в тоже время если в результате работы плагина, я определенного юзера внесу в эту базу, то к другим где установлен такой плагин он уже не сможет пройти регистрацию.
$config['salt'] = 'secretkey';
$config['field_name'] = 'antispam';
Это в настройках плагина или сайта нужно прописать?
1)Он не даёт спам статьи публиковать или регистрироваться спам ботам?
2)
После установки, После установки плагина зайди в настройки и измените секретный ключ и название поля для хешкода.
$config['salt'] = 'secretkey';
$config['field_name'] = 'antispam';
Что это за ключи на что заменить, и что они дают? Если не сложно то объясните, я с таким ещё не сталкивался.
Плагин оповещает о ложных повторных регистрациях с одного IP-адреса