sitemap archive

Хитрий і ефективний метод боротьби зі спамерами. І без КАПЧ.

в категорії wordpress фішки

теґи :

Ну ви ж знаєте, я фігню не порекомендую. Сам цим способом користуюсь майже півроку і спамерів з того часу не бачив в себе.
Які ви бачили методи боротьби зі спамом? з мого досвіду:

  • плагіни капч (captcha) — фу.
  • Акісмет — не справляється
  • Parasite Eliminator — «хорошо, но не очень». Він стоїть в мене на одному блозі + Akismet і все рівно спам проскакує (інколи на модерації затримується, а інколи й пропускає).
  • інші антиспам-плагіни — fail
  • кумедні рішення — постав галочку «я не робот» чи «нажми на прямокутник», навіть пробувати не хочу, бо знаю як це обходиться
  • відповіді на запитання — ага, один раз наткнувся на питання: «What color is orange?» я спробував і «оранжевий» і «апельсиновий» і «помаранчевий» і «orange» — ніфіга, не пускала шайнтан-машина

Я от обхожу стороною такі блоги, статтю ще можу почитати, але свій коментар лишати не збираюся.

А тепер прийшла пора розказати, чому в мене немає спамерів і для відвідувачів створенні всі умови для зручного коментування.
В мене форма коментування з «подвійним дном» — насправді в мене дві форми — в одну пишуть роботи-спамери, а друга для моїх шанованих відвідувачів.

Для цього в файлі comments.php вашої теми вордпресу знайдіть наступний рядок:

<textarea name="comment" id="comment" cols="61" rows="13" class="textarea"></textarea>

цей рядок ми замінимо на такі два рядки:

<div class="smo"><textarea name="comment" id="comment" cols="61" rows="13" class="textarea"></textarea></div>
<textarea name="real-comment" id="real-comment" cols="61" rows="13" class="textarea"></textarea>

де ви бачите, що попередню форму для коментування (textarea) ми засунемо в окремий блок, який згодом приховаємо, і створюєм ще один блок коментування для людей, в якому ім’я блоку відрізняється від стандартного імені, що присвоює вордпрес. Тут в прикладі є "real-comment", але ви можете його змінити на щось своє, наприклад на "text-comment". Так само як і можете змінити class="smo" на щось інше, наприклад class="comtext"
Тепер відкривайте style.css для вашої теми і пропишіть там цей рядок:

.smo {position: absolute; left: -1000px;}

Що це значить? Це значить, що стандартну форму коментування ми приховали, таким чином, що зсунули її на -1000 пікселів на екрані, але спамбот не може цього знати, бо він не може аналізувати вміст файлу стилів і тому буде пробувати написати коментар в цю форму.
Тепер зробимо, аби люди могли спокійно залишати коментар. Для цього відкрийте файл wp-comments-post.php, що знаходиться в корені вашого вордпрес-блогу та віднайдіть такі рядки:


$comment_author       = trim(strip_tags($_POST['author']));
$comment_author_email = trim($_POST['email']);
$comment_author_url   = trim($_POST['url']);
$comment_content      = trim($_POST['comment']);

які слід замінити на:


$spam_test_field = trim($_POST['comment']);
if(!empty($spam_test_field)) wp_die('Іще один спамер попався!');
$comment_author       = trim(strip_tags($_POST['author']));
$comment_author_email = trim($_POST['email']);
$comment_author_url   = trim($_POST['url']);
$comment_content      = trim($_POST['real-comment']);

Це і все! Це звісно не вбереже вас від ручного спаму, але якщо брати до уваги що 99% спаму це спамботи, то цей спосіб можна спокійно називати панацеєю від спаму.

UPD: Андрій Поданенко вирішив поставити під сумнів цей метод і ми позмагались у винахідливості. Про що його стаття у відповідь: «І знову спам. Погляд відсутності 0% та 100%. Antitop v0.3.»

UPD2 (26.11.2010) Тепер вже не потрібно це все робити вручну, бо є вже готовий плагін Antispam Bee

Post to Twitter

70 коментарівrss-comments

]]>jarofed]]> 27 Березня 2009 17:29

Чудовий метод. Єдиний негатив, який я зараз в ньому бачу (через що й не встановлюю на своїх блогах) – це те, що при оновленні ворпресу кожного разу доведеться змінювати рядки у wp-comments-post.php. І взагалі, всі методи, які передбачають втручання у файли самого вордпресу (а не тільки його плагінів та тем) додають трішки більше геморою вебмайстру, оскільки про них слід пам”ятати при кожному оновленні.

А будь-які різновиди капч також ненавиджу від щирої душі!

]]>lilumi]]> 27 Березня 2009 17:55

так, це недолік звичайно. Але останнім часом я не спішу обновлювати блоги, а по друге зараз Lecactus випускає патчі, що обновлюють в вордпресі лише те, що дійсно обновилось, не чіпаючи всі файли.
І на мою думку — геморой з втручанням в файли вордпресу, в сто раз меньший ніж геморой с модеруванням коментарів

 
 
]]>virua]]> 27 Березня 2009 17:34

> “Я от обхожу стороною такі блоги, статтю ще можу почитати, але свій коментар лишати не збираюся.”

Лукавиш :) В мене залишив коментар на блозі, хоча там є капча. Чому промовчав про плагін wp-spamfree? Він також фільтрує спам без залучення коментатора та й ще до цього легко активується – не треба в коді ритися. Та що я тобі кажу, ти ж мені його і показав.

]]>lilumi]]> 27 Березня 2009 17:52

Я хотів розказати про ручний метод, яким я давно користуюсь і тішусь з того.
А чого ж ти тоді ним (wp-spamfree) не користуєшься? Чого до сих пір капчу тримаєш.

Лукавиш :) В мене залишив коментар на блозі, хоча там є капча.

Ну, вважай це компліментом своєму блогу. А не було б капчі, було б більше моїх коментарів

]]>virua]]> 27 Березня 2009 17:58

Тоді я побіг забирати капчу.

 
]]>virua]]> 27 Березня 2009 18:00

До речі, я ним користуюсь. На два блоґи, які були встановлені після твоєї поради, я поставив wp-spamfree. А, от, до блоґу щочь руки не дійшли.

]]>lilumi]]> 27 Березня 2009 18:04

ну от :) Постав wp-spamfree і на свій блог, а заодно напиши пост про його ефективність і досвід роботи з ним.

(нижче коментарі будуть на тому ж рівні)
]]>virua]]> 27 Березня 2009 20:03

Та який тут досвід. Завантажив, активував, насолоджуйся ;) І писати нема про що. Та й про методику боротьби зі спамом я вже писав (“Способи захисту сайту від …”) ще в лютому минулого року. Був там і аналог твого захисту.

 
 
 
 
 
]]>podarok]]> 27 Березня 2009 17:36

— тут був провокаційний коментар від Андрія

Ну і так далі…. ®podarok 8))))

]]>lilumi]]> 27 Березня 2009 17:45

Я знаю про цю твою халепу з такими коментарями, але їх створюють спамботи, від яких цей метод спрацює, а ти тут тестив ручний спам ;)

 
 
]]>virua]]> 27 Березня 2009 17:47

2podarok: що це було? Ти пройшов своїм/чужим ботом захист, чи коментарі додавав руками?

 
]]>podarok]]> 27 Березня 2009 17:50

Стер? Сциш? 8)
Насправді твоя форма обходиться аналогічно до будь-якої… Просто страхуєшся від реально ламерських спам розсилок, яких стає тупо менше і менше щодня…

]]>lilumi]]> 27 Березня 2009 17:54

не сперечатимусь, в той день, коли її начнуть обходити я застосуюю якийсь новий метод, але капчі то не буде

]]>podarok]]> 27 Березня 2009 17:57

вже обходять… конкретно в мене було вже з 200 коментарів в черзі премодерації…
Вбились банами доменів лінків, які були в текстах..

]]>lilumi]]> 27 Березня 2009 17:59

то ти хочеш сказати що я щасливчик? ну хай буде цей блог, а ще є http://serial-house.ru де відвідуванність більше 1000 уніків в день, там теж тьху-тьху, живем без спаму

(нижче коментарі будуть на тому ж рівні)
 
 
 
 
]]>podarok]]> 27 Березня 2009 17:52

Щодо того, як я додав другий коментар…
Банальний POST запит генерується вручну, а другий – вжде автоматично, бо ID форми – відомий…
Захисту – неіснує… Тільки унікальний ID форми, що кожного разщу інший (Капча)
І нікуда ат нєво недецца

]]>lilumi]]> 27 Березня 2009 17:58

егеж. тому я й кажу, що потрібно дати формі коментування своє ім’я, навряд чи спамерам буде вигідно робити базу блогів з таким захистом і з їхніми полями коментування.
А якщо до цього підключити OpenID плагін, то взагалі спамерам можна помахати ручкою.

 
 
]]>podarok]]> 27 Березня 2009 18:04

OpenID 8)))
Навіть не так… Ось так 8))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

Форму, навіть приховану, можна також сканувати і реально спамити… Автоматом… Якщо зацікавить – напишу скрипт, який таке буде робити за долі секунд… Хоча толку то… Скрипти вже в неті давно валяються…

]]>lilumi]]> 27 Березня 2009 18:14

а що спамити ти будеш? в коді дві форми і якщо постити одночасно в обидві то викличеться wp_die ;) а як ти визначиш яка з форм для користувача, а котра для спаму? якщо використаєш !comment то я додам ще одну фальшиву форму і що тоді? Аналізуватимеш css підключений через @import? :) Так то!

]]>Lordie]]> 27 Березня 2009 18:50

Щось не смалиш – а що, відправити по черзі в обидві – нині вже напрочуд геніально? парсером робиться елементарно

]]>lilumi]]> 27 Березня 2009 18:58

ну як показує практика, ніхто поки що такого не зробив. Якщо зроблять то підключу плагін wp-spam-free

(нижче коментарі будуть на тому ж рівні)
 
]]>lilumi]]> 27 Березня 2009 19:03

слухай, а чого це в тебе на блозі стільки спам коментарів? http://www.lordproteus.org.ua/#p=174 тільки не кажи що ти їх не бачив

(нижче коментарі будуть на тому ж рівні)
]]>Lordie]]> 27 Березня 2009 19:16

Оновитись забуваю :) За новим алгоритмом спаму поки не зустрічав (це не заклик до пробиву – все одно врешті-решт відіб’ю ;))

 
 
 
 
 
]]>podarok]]> 27 Березня 2009 18:08

А взагалі цікаву ідею мені підкинув для нової теми в розділ antitop та спам
Як обійти захист унікальної форми коментарів для вордпреса.

]]>lilumi]]> 27 Березня 2009 18:25

Контрольний вистріл проти автоматичного спаму : http://habrahabr.ru/blogs/wordpress/44350/#comment_1119392
як ти там писав: 8))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

 
]]>lilumi]]> 28 Березня 2009 10:49

бачу ти вчора вирішив все таки мені доказати що цей метод не ефективний, що ж, в тебе була фора, бо ти знав метод захисту, спробуй тепер, але я не буду казати що я зробив для захисту.

]]>podarok]]> 28 Березня 2009 11:46

Якщо не полінюсь – спробую 8)))
Якраз цей коментар – перехоплення метода POST

 
 
 
]]>mekal]]> 28 Березня 2009 04:21

“кумедні рішення — постав галочку «я не робот» чи «нажми на прямокутник», навіть пробувати не хочу, бо знаю як це обходиться”

Я когда-то предлагал такое решение, а именно поставить галочку “я не робот”. Но не пойму чем оно тебе не понравилось? Чем это закончится?

]]>lilumi]]> 28 Березня 2009 11:01

потому что подставляя в url переменную dcaptcha_sess=1 мы обходим эту капчу на тех блогах где она есть, а на остальных этот параметр игнорируется.

]]>mekal]]> 28 Березня 2009 13:38

Ух ты) Не знал, жаль что боты так легко обходят, а нам вводить приходиться :)

]]>mekal]]> 28 Березня 2009 13:43

Кстати, к слову, я поставил систему ИнтенсДебат http://intensedebate.com вместо стандартного комментирования. Она подгружается с джавы, а значит автоботы автоматически пролетают. Спама уже давно не видел, только ручной иногда проскальзывает, но от него лекарства всё-равно нет. Из минусов знаю, что не смогут комментировать те, у кого джава отключена, но разве такие есть?
А плюсов там много, древовидные комментарии, людям достаточно один раз зарегистрироваться и без проблем можно комментировать на многих блогах с этой системой, видеокомментарии, опросы прямо в комментариях.

Что скажешь про эту систему?

(нижче коментарі будуть на тому ж рівні)
]]>lilumi]]> 28 Березня 2009 13:51

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

 
 
 
 
 
]]>podarok]]> 28 Березня 2009 12:11

Сорі за спам… Просто тестував скрипт…
Реально все робиться за пару хвилин, з яких цих пару хзвилин – це знаходження відповідного модуля для файрфокса для визначення необхідних полів HTTP request для додавання коментаря…
А далі – банальний скрипт на тому ж пхп або перлі або або або
Який автоматично все робить…
МАбуть буде стаття…

 
]]>lilumi]]> 28 Березня 2009 12:28

А мені сподобалось. Давай іще позмагаємось. Спробуй на цей раз ;)
А статтю на цю тему від тебе буде цікаов почитати. Очікуємо.

]]>TestBot]]> 28 Березня 2009 12:35

human based comment

]]>lilumi]]> 28 Березня 2009 12:41

Справа в тім, що через годину назва поля вже зміниться ;)

]]>podarok]]> 28 Березня 2009 12:47

Хай змінюється… Ти ж не змінюєш верстку свого коду щогодини, ти лише змінюєш змінну, для вичислення якої лише потрібно повторно завантажити тим же скриптом сторінку і змінити назву змінної 8)))
Згоден – воно ускладнює процес, але рівно стільки, скільки ти будеш затрачати на захист, спамер тратить на взлом.
В результаті ти, як і більшість, хто задовбався з цим боротись – або поставиш капчу, або будеш “human-based capcha”, яка руцями буде змінювати код власного двигунця…
Найбільший прикол в тому, що ти бачиш сторону коду PHP або HTML, а спамер же дивиться виключно на HTTP протокол і іноді звіряється з видачею HTML

(нижче коментарі будуть на тому ж рівні)
]]>lilumi]]> 28 Березня 2009 12:56

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

 
 
 
 
 
]]>podarok]]> 28 Березня 2009 12:48

І ти стер корисний коментар 8) або в премодерацію впало

]]>lilumi]]> 28 Березня 2009 12:51

цей:

Для захисту від спаму — неіснує варіантів на 100%

Його можна лише зменшити. І головне це розуміти.

Даний метод, що описано в статті — забезпечує відносний захист від автоматичних тупоголових програм і користувачів.

Але від розумного спаму — не діє.

В ромумному спамі — Аkismet працює на спамера, алгоритм bayesian — на спамера, ІР блокування — проти власника блогу.

Я його не стирав і в адмінці він висить як одобрений, але тут не відображається чогось.

]]>podarok]]> 28 Березня 2009 12:53

дякую…

 
 
 
]]>podarok]]> 28 Березня 2009 12:53

І наостанок щодо зміни щогодини…
Ризикуєш втратити коментар в момент, коли користувач завантажив код, написав коментар і відіслав, а од форми – змінено 8(((…
Тому обов’язкова організація черги таких коментарів!!!

]]>lilumi]]> 28 Березня 2009 12:59

я зробив по методу описаному тут: http://habrahabr.ru/blogs/wordpress/44350/#comment_1119392 а там враховуються стики годин, ну а дві години ніхто не буде писати один коментар

]]>Lordie]]> 28 Березня 2009 16:16

Терор, м’яко кажучи… а) я можу зустріти в одному з коментів посилання на гарну статтю і читати і т.д. і лише пізніше (за пару годин) згадати про вкладку, де в мене вже введно комент; б) в мене можуть бути проблеми з провайдером (регулярно) або в тебе – з хостингом – логічно, що для того щоб не втрачати текст коменту я просто залишу сторінку відкритою…

]]>lilumi]]> 28 Березня 2009 16:28

ну який це терор. Ти наводиш ситуації, що рідко трапляються в принципі. Ну хочеш можу написати як колись на максайті було: «Анти-спам — шайтан-машина, поэтому копируйте в буфер обмена комментарий, перед отправкой» Та й мені здається, навіть при ситуації, описаній тобою можна буде натиснути назад в броузері, зкопіювати коментар і перегрузити форму.
Я бачив терор і побільше — це коли на блозі стоїть OpenID, а в мене не авторизований цей OpeniD на даному компі, то після авторизацїї коментар просто зникає.
Або на блогах в блогспоті, я не можу залишити коментар від свого імені, бо бачте «Ваш OpenID не може бути розпізнаним» і коментар теж зникає.

(нижче коментарі будуть на тому ж рівні)
]]>Lordie]]> 28 Березня 2009 16:40

Тобі це подобається? Навряд. Головний принцип кодингу – нуль-втрата інформації. В жодному випадку технічне забезпечення не має права втратити потенційно корисний контент. Прошу враховувати. (ps: залучив пару консультантів LD… гадаю, до вечора щось “намутимо” :) )

 
]]>lilumi]]> 28 Березня 2009 16:47

ну я зараз заберу цю фішку з пересолюванням md5-хешу id форми і верну все як було раніше, бо більше “спам-атак” від Андрія не передбачається =)

 
]]>Lordie]]> 28 Березня 2009 19:39

З алгоритмом приблизно розібрались… “сіль” в тому, щоб хеші відповідали не часу а конкретним людям, повідомленням та коментарям… принаймні, від 90+% ботів має точно допомогти… наступний крок – позбавитись хоч 40% ручних спам-коментарів

 
 
 
 
 
]]>Lordie]]> 28 Березня 2009 16:09

Стільки ідей… заюзаємо.. головне – вдало скомбінувати.. :) чекайте мого ходу = ) [я також на захисті, а не зламі]

 
]]>podarok]]> 30 Березня 2009 09:02

javascript версія алгоритму взлому може просто вишибти цілі мережі блогів 8(((
Скажімо повісивши на сторінках тих же фішкі-нєт код на пару кілобайт можна за день розіслати сотні тисяч повідомлень спаму анонімно 8(

 
]]>ELECTRIC]]> 30 Березня 2009 12:42

оТ З ТИМ ОРАНЖЕВИМ ТО БУЛА ХОЗМА, РАЗ ПРОБУВАВ ЗАЛИШИТИ КОМЕНТ – ТАК І НЕ ВДАЛОСЯ. нАВІЩО ТАКУ ЄРУНДУ СОБІ В БЛОГ СТАВИТИ – НЕВІДОМО:)))

 
]]>ELECTRIC]]> 30 Березня 2009 12:42

соррі за капслок:)))

 
]]>Евгений]]> 31 Березня 2009 17:23

<<<но она для тех, кто не прихотлив.
В каком смысле неприхотлив?Приходится делать много ручной работы?

]]>lilumi]]> 31 Березня 2009 17:26

для тех, кто не прихотлив к внешнему виду, ведь дизайн intense debate нельзя изменить и подогнать под общий дизайн сайта

 
 
]]>Dandr]]> 1 Квітня 2009 23:29

Ты бы ремарочку где-нить сделал, что теперь при использовании этого метода категорически нельзя делать автообновление вордпресса.
ЗЫ Звиняй, хлопче: в переводчик закидывать ломает))

 
]]>Serjart]]> 4 Квітня 2009 21:38

Як на мене то краще вже плагін-капча для вордпресу. Встановив і працює. Хоча бувають певні дива, якось мені спамили постійно в один пост. Коментарів було штук 120, хоча капча була вімкнена. :D

]]>lilumi]]> 4 Квітня 2009 22:43

я не коментую блоги з капчами і знаю багато людей, що теж притримуються такої позиції.

]]>Dandr]]> 8 Квітня 2009 20:37

Прошу прощения, что вклиниваюсь, но таки не соглашусь с тобой. Тут зависит от того, насколько интересен мне этот человек. И потом, если установлен WP-reCAPTCHA, про который только что писал, то проще один раз зарегистрироваться и больше не видеть эту капчу вообще.
ИМХО, конечно же.

]]>lilumi]]> 8 Квітня 2009 21:51

ни разу не возникало желание регистрироваться на блоге.
У меня на сайте Доктора Хауса два месяца стояла форма комментирования с помощю OpenID от лиру, она автоматом подцепляла лирушных аккаунт, позволяла вводить ник ЖЖ и поддерживала всех остальных OpenID-идентификаторов, так вот — за два месяца не появилось ни одного нового комментария, хотя у меня остались 4 страницы (pages) на которых этой формы не было, а была стандартная вордпресовская, так на тех страницах до сих пор ведутся ожесточенные споры на околохаусные темы и комментарии появлялись ежедневно.

(нижче коментарі будуть на тому ж рівні)
]]>Dandr]]> 8 Квітня 2009 21:57

Лирушные каменты – это вообще жёсткая вещь. Видел их у Альтесака – он отрубил их через два дня после установки.
Вообще, буду иметь в виду такой нюанс.

 
 
 
 
 
]]>Lukom]]> 21 Червня 2009 20:33

Ідеального методу звісно не існує, але можна написати свою реалізацію антиспаму, а не користуватись готовими системами. Всім лінь писати бота під ще 1 вид форм, тому цей спосіб найкращий.

Можу порекомендувати статтю на хабрі по цій темі:
http://habrahabr.ru/blogs/webdev/50328

 
]]>seobalu]]> 15 Жовтня 2011 11:34

Cochniy post)) Spasibo

 
]]>Liska]]> 18 Січня 2012 08:52

Відмінно ! Все б так писали: )

 
]]>goshaLycle]]> 10 Серпня 2017 16:30

Представляем, Доска объявлений города Святогорск https://torg.zone/donetskaya-oblast/sviatogorsk/ размещайте сколько угодно бизнес объявлений без ограничений.

 

Ваш коментар

LilumiМене звати LiluMi, а це мій блоґ. Тут про веб-розробку та лайфхаки. Рекомендую підписатись на RSS Інформацію про мене читайте на сторінці me LiluMi
UA TOP Bloggers

Тобі передають привіт 121 медвежаток. Це підняло тобі настрій на 3,502 а в Австралії живе колібрі у якої дзьобик довжиною на 43.24см.