Ну ви ж знаєте, я фігню не порекомендую. Сам цим способом користуюсь майже півроку і спамерів з того часу не бачив в себе.
Які ви бачили методи боротьби зі спамом? з мого досвіду:
- плагіни капч (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
Чудовий метод. Єдиний негатив, який я зараз в ньому бачу (через що й не встановлюю на своїх блогах) – це те, що при оновленні ворпресу кожного разу доведеться змінювати рядки у wp-comments-post.php. І взагалі, всі методи, які передбачають втручання у файли самого вордпресу (а не тільки його плагінів та тем) додають трішки більше геморою вебмайстру, оскільки про них слід пам”ятати при кожному оновленні.
А будь-які різновиди капч також ненавиджу від щирої душі!
так, це недолік звичайно. Але останнім часом я не спішу обновлювати блоги, а по друге зараз Lecactus випускає патчі, що обновлюють в вордпресі лише те, що дійсно обновилось, не чіпаючи всі файли.
І на мою думку — геморой з втручанням в файли вордпресу, в сто раз меньший ніж геморой с модеруванням коментарів
> “Я от обхожу стороною такі блоги, статтю ще можу почитати, але свій коментар лишати не збираюся.”
Лукавиш :) В мене залишив коментар на блозі, хоча там є капча. Чому промовчав про плагін wp-spamfree? Він також фільтрує спам без залучення коментатора та й ще до цього легко активується – не треба в коді ритися. Та що я тобі кажу, ти ж мені його і показав.
Я хотів розказати про ручний метод, яким я давно користуюсь і тішусь з того.
А чого ж ти тоді ним (wp-spamfree) не користуєшься? Чого до сих пір капчу тримаєш.
Ну, вважай це компліментом своєму блогу. А не було б капчі, було б більше моїх коментарів
Тоді я побіг забирати капчу.
До речі, я ним користуюсь. На два блоґи, які були встановлені після твоєї поради, я поставив wp-spamfree. А, от, до блоґу щочь руки не дійшли.
ну от :) Постав wp-spamfree і на свій блог, а заодно напиши пост про його ефективність і досвід роботи з ним.
Та який тут досвід. Завантажив, активував, насолоджуйся ;) І писати нема про що. Та й про методику боротьби зі спамом я вже писав (“Способи захисту сайту від …”) ще в лютому минулого року. Був там і аналог твого захисту.
— тут був провокаційний коментар від Андрія
Ну і так далі…. ®podarok 8))))
Я знаю про цю твою халепу з такими коментарями, але їх створюють спамботи, від яких цей метод спрацює, а ти тут тестив ручний спам ;)
2podarok: що це було? Ти пройшов своїм/чужим ботом захист, чи коментарі додавав руками?
Стер? Сциш? 8)
Насправді твоя форма обходиться аналогічно до будь-якої… Просто страхуєшся від реально ламерських спам розсилок, яких стає тупо менше і менше щодня…
не сперечатимусь, в той день, коли її начнуть обходити я застосуюю якийсь новий метод, але капчі то не буде
вже обходять… конкретно в мене було вже з 200 коментарів в черзі премодерації…
Вбились банами доменів лінків, які були в текстах..
то ти хочеш сказати що я щасливчик? ну хай буде цей блог, а ще єhttp://serial-house.ru де відвідуванність більше 1000 уніків в день, там теж тьху-тьху, живем без спаму
Щодо того, як я додав другий коментар…
Банальний POST запит генерується вручну, а другий – вжде автоматично, бо ID форми – відомий…
Захисту – неіснує… Тільки унікальний ID форми, що кожного разщу інший (Капча)
І нікуда ат нєво недецца
егеж. тому я й кажу, що потрібно дати формі коментування своє ім’я, навряд чи спамерам буде вигідно робити базу блогів з таким захистом і з їхніми полями коментування.
А якщо до цього підключити OpenID плагін, то взагалі спамерам можна помахати ручкою.
OpenID 8)))
Навіть не так… Ось так 8))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
Форму, навіть приховану, можна також сканувати і реально спамити… Автоматом… Якщо зацікавить – напишу скрипт, який таке буде робити за долі секунд… Хоча толку то… Скрипти вже в неті давно валяються…
а що спамити ти будеш? в коді дві форми і якщо постити одночасно в обидві то викличеться wp_die ;) а як ти визначиш яка з форм для користувача, а котра для спаму? якщо використаєш !comment то я додам ще одну фальшиву форму і що тоді? Аналізуватимеш css підключений через @import? :) Так то!
Щось не смалиш – а що, відправити по черзі в обидві – нині вже напрочуд геніально? парсером робиться елементарно
ну як показує практика, ніхто поки що такого не зробив. Якщо зроблять то підключу плагін wp-spam-free
слухай, а чого це в тебе на блозі стільки спам коментарів?http://www.lordproteus.org.ua/#p=174 тільки не кажи що ти їх не бачив
Оновитись забуваю :) За новим алгоритмом спаму поки не зустрічав (це не заклик до пробиву – все одно врешті-решт відіб’ю ;))
А взагалі цікаву ідею мені підкинув для нової теми в розділ antitop та спам
Як обійти захист унікальної форми коментарів для вордпреса.
Контрольний вистріл проти автоматичного спаму :http://habrahabr.ru/blogs/wordpress/44350/#comment_1119392
як ти там писав: 8))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
бачу ти вчора вирішив все таки мені доказати що цей метод не ефективний, що ж, в тебе була фора, бо ти знав метод захисту, спробуй тепер, але я не буду казати що я зробив для захисту.
Якщо не полінюсь – спробую 8)))
Якраз цей коментар – перехоплення метода POST
“кумедні рішення — постав галочку «я не робот» чи «нажми на прямокутник», навіть пробувати не хочу, бо знаю як це обходиться”
Я когда-то предлагал такое решение, а именно поставить галочку “я не робот”. Но не пойму чем оно тебе не понравилось? Чем это закончится?
потому что подставляя в url переменную dcaptcha_sess=1 мы обходим эту капчу на тех блогах где она есть, а на остальных этот параметр игнорируется.
Ух ты) Не знал, жаль что боты так легко обходят, а нам вводить приходиться :)
Кстати, к слову, я поставил систему ИнтенсДебатhttp://intensedebate.com вместо стандартного комментирования. Она подгружается с джавы, а значит автоботы автоматически пролетают. Спама уже давно не видел, только ручной иногда проскальзывает, но от него лекарства всё-равно нет. Из минусов знаю, что не смогут комментировать те, у кого джава отключена, но разве такие есть?
А плюсов там много, древовидные комментарии, людям достаточно один раз зарегистрироваться и без проблем можно комментировать на многих блогах с этой системой, видеокомментарии, опросы прямо в комментариях.
Что скажешь про эту систему?
да, система классная, против спамеров справляется, но она для тех, кто не прихотлив. Мне же она не нравится тем, что изменить внешний вид таких комментариев и формы нельзя (а иногда такой вид вообще не вписывается в дизайн) и еще мне не нравится там голосовалка за комментарии, потому что меня раздражает, как, к примеру, на Радио-Т минусуют комментарий альтернативного мнения стадо приверженцов.
Сорі за спам… Просто тестував скрипт…
Реально все робиться за пару хвилин, з яких цих пару хзвилин – це знаходження відповідного модуля для файрфокса для визначення необхідних полів HTTP request для додавання коментаря…
А далі – банальний скрипт на тому ж пхп або перлі або або або
Який автоматично все робить…
МАбуть буде стаття…
А мені сподобалось. Давай іще позмагаємось. Спробуй на цей раз ;)
А статтю на цю тему від тебе буде цікаов почитати. Очікуємо.
human based comment
Справа в тім, що через годину назва поля вже зміниться ;)
Хай змінюється… Ти ж не змінюєш верстку свого коду щогодини, ти лише змінюєш змінну, для вичислення якої лише потрібно повторно завантажити тим же скриптом сторінку і змінити назву змінної 8)))
Згоден – воно ускладнює процес, але рівно стільки, скільки ти будеш затрачати на захист, спамер тратить на взлом.
В результаті ти, як і більшість, хто задовбався з цим боротись – або поставиш капчу, або будеш “human-based capcha”, яка руцями буде змінювати код власного двигунця…
Найбільший прикол в тому, що ти бачиш сторону коду PHP або HTML, а спамер же дивиться виключно на HTTP протокол і іноді звіряється з видачею HTML
Ну чого ти не хочеш зрозуміти, що стикнувшись з такими труднощами, спамери просто обійдуть стороною такі блоги і будуть спамити, де немає таких захистів.
І я потратив на захист один раз, а спамеру при кожному заході (мінімум через годину), прийдеться наново парсити форму.
І ти стер корисний коментар 8) або в премодерацію впало
цей:
Я його не стирав і в адмінці він висить як одобрений, але тут не відображається чогось.
дякую…
І наостанок щодо зміни щогодини…
Ризикуєш втратити коментар в момент, коли користувач завантажив код, написав коментар і відіслав, а од форми – змінено 8(((…
Тому обов’язкова організація черги таких коментарів!!!
я зробив по методу описаному тут:http://habrahabr.ru/blogs/wordpress/44350/#comment_1119392 а там враховуються стики годин, ну а дві години ніхто не буде писати один коментар
Терор, м’яко кажучи… а) я можу зустріти в одному з коментів посилання на гарну статтю і читати і т.д. і лише пізніше (за пару годин) згадати про вкладку, де в мене вже введно комент; б) в мене можуть бути проблеми з провайдером (регулярно) або в тебе – з хостингом – логічно, що для того щоб не втрачати текст коменту я просто залишу сторінку відкритою…
ну який це терор. Ти наводиш ситуації, що рідко трапляються в принципі. Ну хочеш можу написати як колись на максайті було: «Анти-спам — шайтан-машина, поэтому копируйте в буфер обмена комментарий, перед отправкой» Та й мені здається, навіть при ситуації, описаній тобою можна буде натиснути назад в броузері, зкопіювати коментар і перегрузити форму.
Я бачив терор і побільше — це коли на блозі стоїть OpenID, а в мене не авторизований цей OpeniD на даному компі, то після авторизацїї коментар просто зникає.
Або на блогах в блогспоті, я не можу залишити коментар від свого імені, бо бачте «Ваш OpenID не може бути розпізнаним» і коментар теж зникає.
Тобі це подобається? Навряд. Головний принцип кодингу – нуль-втрата інформації. В жодному випадку технічне забезпечення не має права втратити потенційно корисний контент. Прошу враховувати. (ps: залучив пару консультантів LD… гадаю, до вечора щось “намутимо” :) )
ну я зараз заберу цю фішку з пересолюванням md5-хешу id форми і верну все як було раніше, бо більше “спам-атак” від Андрія не передбачається =)
З алгоритмом приблизно розібрались… “сіль” в тому, щоб хеші відповідали не часу а конкретним людям, повідомленням та коментарям… принаймні, від 90+% ботів має точно допомогти… наступний крок – позбавитись хоч 40% ручних спам-коментарів
Стільки ідей… заюзаємо.. головне – вдало скомбінувати.. :) чекайте мого ходу = ) [я також на захисті, а не зламі]
javascript версія алгоритму взлому може просто вишибти цілі мережі блогів 8(((
Скажімо повісивши на сторінках тих же фішкі-нєт код на пару кілобайт можна за день розіслати сотні тисяч повідомлень спаму анонімно 8(
оТ З ТИМ ОРАНЖЕВИМ ТО БУЛА ХОЗМА, РАЗ ПРОБУВАВ ЗАЛИШИТИ КОМЕНТ – ТАК І НЕ ВДАЛОСЯ. нАВІЩО ТАКУ ЄРУНДУ СОБІ В БЛОГ СТАВИТИ – НЕВІДОМО:)))
соррі за капслок:)))
<<<но она для тех, кто не прихотлив.
В каком смысле неприхотлив?Приходится делать много ручной работы?
для тех, кто не прихотлив к внешнему виду, ведь дизайн intense debate нельзя изменить и подогнать под общий дизайн сайта
Ты бы ремарочку где-нить сделал, что теперь при использовании этого метода категорически нельзя делать автообновление вордпресса.
ЗЫ Звиняй, хлопче: в переводчик закидывать ломает))
Як на мене то краще вже плагін-капча для вордпресу. Встановив і працює. Хоча бувають певні дива, якось мені спамили постійно в один пост. Коментарів було штук 120, хоча капча була вімкнена. :D
я не коментую блоги з капчами і знаю багато людей, що теж притримуються такої позиції.
Прошу прощения, что вклиниваюсь, но таки не соглашусь с тобой. Тут зависит от того, насколько интересен мне этот человек. И потом, если установлен WP-reCAPTCHA, про который только что писал, то проще один раз зарегистрироваться и больше не видеть эту капчу вообще.
ИМХО, конечно же.
ни разу не возникало желание регистрироваться на блоге.
У меня на сайте Доктора Хауса два месяца стояла форма комментирования с помощю OpenID от лиру, она автоматом подцепляла лирушных аккаунт, позволяла вводить ник ЖЖ и поддерживала всех остальных OpenID-идентификаторов, так вот — за два месяца не появилось ни одного нового комментария, хотя у меня остались 4 страницы (pages) на которых этой формы не было, а была стандартная вордпресовская, так на тех страницах до сих пор ведутся ожесточенные споры на околохаусные темы и комментарии появлялись ежедневно.
Лирушные каменты – это вообще жёсткая вещь. Видел их у Альтесака – он отрубил их через два дня после установки.
Вообще, буду иметь в виду такой нюанс.
Ідеального методу звісно не існує, але можна написати свою реалізацію антиспаму, а не користуватись готовими системами. Всім лінь писати бота під ще 1 вид форм, тому цей спосіб найкращий.
Можу порекомендувати статтю на хабрі по цій темі:
http://habrahabr.ru/blogs/webdev/50328
Cochniy post)) Spasibo
Відмінно ! Все б так писали: )