Математическая капча для комментариев в WordPress
Воскресенье, 26 Апр 2009 16:15Поставил наконец себе капчу для комментариев, а то спамеры ЗАЕ**** — 15-30 комментов в день стабильно! Выбрал математическую капчу! Результатов пока нет, но по опыту других блоггеров ожидается, что спам пропадет вмиг, а число гавнокомментаторов уменьшиться (хотя их и до того практически не было), потому что им станет влом считать ответ на капчу :).
Пока рылся в поисках подходящей капчи для WordPress, выяснил, что для практически любого популярного движка существует нехилое количество различных капч, среди которых:
Клик и готово!
Выбранная мною математическая капча для WordPress — Math Comment Span Protection
yaCaptcha
Anti Span Image
И самая надежная капча reCAPTCHA с учетом ошибок ридеров и возможностью простушать текст на ней :).
Конечно же тех, кто понимает, что WordPress — далеко не самых шустрый движок, интересует, какая капча для него будет «наименее тяжелой».
Немного покопавшись в форумах я нашел ответ, который совпал с моим собственным: «Клик и готово!» — самая простая и в то же время наименее ресурсоемкая капча для комментариев в WordPress.
Математическая капча далеко не намного тяжелее первой, и единственное, чем она усложнена, — необходимость провести предварительный расчет на результат суммы на серверной стороне, что занимает время. «Клик и готово!» встраивается единожды и навсегда и ничего не требует.
Не знаю, как там с одним кликом, но вот степень защищенности математической капчи мне нравится. Существует возможность задавать свой идентификатор класса для input'a, в который вводится число. Полагаю, это сделано для улучшения защиты, иначе спам-робот мог бы находить следующий за input'om с известным идентификатором label, брать из него два числа, суммировать их и вводить в это самое поле. А так шиш ему!
Установка математической капчи крайне проста: качаем с
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php /****** Math Comment Spam Protection Plugin ******/ if ( function_exists('math_comment_spam_protection') ) { $mcsp_info = math_comment_spam_protection(); ?> <p> <input type="text" name="mcspvalue" id="mcspvalue" value="" size="22" tabindex="4" /> <label for="mcspvalue"> <small>Антиспам: посчитайте сумму <?php echo $mcsp_info['operand1'] . ' + ' . $mcsp_info['operand2'] . ' ?' ?></small> </label> <input type="hidden" name="mcspinfo" value="<?php echo $mcsp_info['result']; ?>" /> </p> <?php } // if function_exists... ?> |
Данный кусок кода создаст дополнительный input и label на форме комментария, потому всуньте его куда нужно. Результат можно видеть на моей форме добавления комментариев. Enjoy!
Update 16.10.2010. Текущая версия капчи 3.0, и в ней кое-что изменилось. В частности добавилась возможность прямо из админпанели задавать имя скрытому полю и полю ввода капчи, что усложняет ее распознавание роботами, и слегка видоизменился код для вывода капчи в вашем шаблоне. Текущий код выглядит следующим образом:
1 2 3 4 5 6 7 |
<?php if ( function_exists('math_comment_spam_protection') ) { $mcsp_info = math_comment_spam_protection(); ?> <p><input type="text" name="<?php echo $mcsp_info['fieldname_answer'] ?>" id="<?php echo $mcsp_info['fieldname_answer'] ?>" value="" size="22" tabindex="4" /> <label for="<?php echo $mcsp_info['fieldname_answer'] ?>">Spam protection: Sum of <?php echo $mcsp_info['operand1'] . ' + ' . $mcsp_info['operand2'] . ' ?' ?></label> <input type="hidden" name="<?php echo $mcsp_info['fieldname_hash'] ?>" value="<?php echo $mcsp_info['result']; ?>" /> </p> <?php } // if function_exists... ?> |
Детальнее о процессе установки математической капчи и других ее особенностях читайте на сайте разработчика.
28 Мар 2015 в 4:10
1хочу проверить капчу, которой пока почему то не видно