Капча не работает. Что такое капча? Как ввести или убрать капчу? Что такое reCAPTCHA
Здравствуйте, уважаемые читатели блога сайт. Буквально чуток времени хочу уделить относительно новой капче от Гугла (она около года назад была анонсирована), которая пришла на смену старой и замороченной. Раньше наверное мало кто из блогеров, находящихся в своем уме, мог бы поставить детище Google на свой сайт или блог — уж очень муторно было разгадывать предлагаемые там буквенные ребусы. Все удобство комментирования терялось.
Собственно, в то далекое время я пользовался еще отлично работающим . Для его прохождения нужно было просто поставить галочку в поле «Я не робот» и все ( из всех возможных). Если галочка не ставилась, то сообщение падало в корзину в админке WordPress, либо при отключенной корзине (как в моем случае) просто в базу не добавлялось. Идеальный вариант, по-моему, ибо никаких особых неудобств комментатору это не создавало.
Потом этот плагин работать перестал, и я где-то полгода с успехом пользовался , но и этот метод перестал работать после обновления WordPress до версии 4.4. За это время я попробовал парочку плагинов, которые отсеивали спам на основе анализа адресата и содержания (Antispam Bee и CleanTalk). Первый довольно много путал (спам в не спам, а неспам в спам), а второй вопреки ожиданиям не снижал, а увеличивал нагрузку на сервер (да еще и платный к тому же).
В общем, решил вернуться к проверенному методу - установки простейшей из существующих капч . DCaptcha уже не работает, но зато гигант Google серьезно упростил свою изначально монструозную reCAPTCHA и свел всю проверку к той самой установке галочки «Я не робот». К сожалению, я слишком туп, чтобы понять как это дело прикрутить к сайту без плагина (хотя и пробовал), поэтому пришлось воспользоваться услугами плагина No CAPTCHA reCAPTCHA. Но обо всем по порядку.
Методы снижения спам-нагрузки и почему именно reCAPTCHA?
Как вы наверное знаете, спам бывает ручной и автоматический . От первого можно защититься только включением обязательной модерации всех входящих сообщений перед их публикацией на блоге — тогда наверняка никакая «редиска» не прорвется.
Но ручной спам, как правило, представляет из себя хиленький ручеек по сравнению с полноводной рекой автоспама. Последний может генериться, например, Хрумером в просто фантастических объемах. Лично меня больше раздражает даже не то, что в сутки приходит несколько сотен спамных комментов в мою адмнинку WordPress, а то, что они бывают чудовищно длинными и устаешь их прокручивать до кнопки «Удалить». В общем, проблема сия реальна и тем более актуальна, чем популярнее будет ваш блог.
С ручным спамом бороться нет смысла (из-за обреченности этой борьбы и из-за его несущественного объема), но вот с автоспамом нужно что-то делать. Тут как бы есть два основных подхода :
- Фильтровать уже добавленные в базу WordPress комменты на предмет спам/неспам и распихивать их по соотвествующим папочкам. К сожалению, плагины, работающие по такому принципу, выдают много брака и просто так очищать папку «Спам» без просмотра ее содержимого не получится, если вы не хотите потерять десятки действительно ценных комментариев отправленных активными читателями вашего блога.
- Прикрутить к форме добавления комментария дополнительную проверку на то, кто именно оставляет это сообщение — живой человек или бот. Задача по выявлению этого различия называется тестом Тьюринга и решается в подавляющем большинстве случаев с помощью так называемой капчи (образовано от CAPTCHA, которое является аббревиатурой от набора умных слов). Основной проблемой этого метода борьбы со спамом является то, что вы напрягаете комментаторов разгадыванием «ребуса» (капчи), что может отбить у него вообще какое-либо желание продолжать пытаться оставить сообщение.
Однако, капчи, как уже говорил, бывают довольно простыми. Гугл сделал серьезный шаг в этом направлении и теперь его новая reCAPTCHA просто образец простоты и изящества для подавляющего большинства пользователей зашедших на ваш сайт (правда, малому числу из них может все же быть предложено ввести символы с картинки, если у алгоритма возникнут сомнения в его человечности).
Вот так реКапча от Гугла будет выглядеть для 99.9% посетителей вашего сайта:
Ну и вот так, в случае возникновения форс-мажора (если алгоритм после проведения десятка тестов на человечность все же засумлевается):
О стойкости этой защиты можно судить по тому, что на сервисах по распознаванию капчи ( или ) за рекапчку берут в два раза больше денежек. Очень говорящий показатель.
Ну, как бы выбор сделан — надо реализовывать.
Регистрация сайта в reCAPTCHA и установка ее на свой блог
Регистрация представляет из себя просто как указание названия и доменного имени вашего сайта, где эту саму капчу вы планируете использовать:
После этого вы попадете в админку сервиса reCAPTCHA для вашего сайта (имеет смысл, наверное, добавить ее в закладки браузера). Со временем там будет отображаться статистика по работе данной капчи, ну, а пока самое важное, что мы отсюда можем почерпнуть — это как раз те самые ключи , без которых «Я не робот» работать не будет:
Чуть ниже приведена инструкция по установке. В области «Интеграция на стороне клиента» все понятно, но простой установки приведенного кода в указанные места не достаточно. Капча отображаться будет, но спам фильтроваться не будет. В области же «Интеграция на стороне сервера» мне вообще ничего не понятно. Туповат я для этого.
Посему было принято решение использовать плагин для интеграции reCAPTCHA в WordPress , благо, что вариантов таких плагинов достаточно много (читайте ). Правда, штуки три из них у меня не заработали (капча в области добавления комментариев не появлялась). После нескольких неудачных попыток пришлось обратиться за решением к умным людям , где и был замечен и в последствии успешно установлен плагин с замысловатым названием (типа масло не маслянное) — .
Настройка и работа плагина No CAPTCHA reCAPTCHA в WordPress
Ну, собственно, заходите в админку WordPress, из левого меню выбираете «Плагины» — «Добавить новый», вводите в поисковую строку No CAPTCHA reCAPTCHA и производите установку. Не забываете его активировать, а затем обычным способом заходите в его настройки (внизу левого меню вы найдете новый пункт «No CAPTCHA reCAPTCHA»).
Собственно, тут из всех настроек самым важным является опять же ввод полученных чуть выше ключей на сайте reCAPTCHA:
После сохранения этих изменений плагин сразу встает на защиту ваших комментариев от спамеров.
И не только комментариев. В настройках можно защитить с помощью этой капчи и форму входа в админку WordPress :
Еще в настройках можно заменить светлую цветовую гамму рекапчи на темную, а также либо предоставить капче самой угадывать язык пользователя, либо установить его принудительно.
Собственно, все. Я пока не стал принудительно сбрасывать кеш в WordPress (обновил лишь те статьи, к которым традиционно Хрумер не равнодушен), поэтому reCAPTCHA отображается не на всех страницах. Каких-то нареканий в работе пока замечено не было.
Удачи вам! До скорых встреч на страницах блога сайт
посмотреть еще ролики можно перейдя на");">
Вам может быть интересно
Как избавиться от спама в комментариях WordPress за 5 минут (без капчи и без плагинов)
Пропало левое меню в админке WordPress после обновления
Где скачать WordPress - только с официального сайта wordpress.org
Как войти в админку WordPress, а так же поменять логин и пароль администратора выданные вам при установке движка
Как отключить комментарии в WordPress для отдельных статей или всего блога, а так же убрать или наоборот подключить их в шаблоне
Специалисты наконец-то усовершенствовали капчу, избавив пользователя от надобности вводить слова и выполнять другие непонятные действия. Отныне технология распознавания ботов способна самостоятельно определить, человек перед ней или нет. разобралась, как начиналась война с машинами и кто в ней одерживает победу.
Новая надежда
Капча (CAPTCHA - Completely Automated Public Turing test to tell Computers and Humans Apart) - это автоматизированный публичный тест Тьюринга, направленный на выявление компьютеров среди посетителей сайтов. Этот механизм защиты должен оградить сайты от спама, автоматических регистраций, накруток и прочих нелицеприятных дел, которыми обычно занимаются боты.
Классическая капча заключается в необходимости расшифровать сильно искаженный текст, трудно распознаваемый программными алгоритмами. Технология Google с говорящим названием No CAPTCHA отходит от стандартной концепции автоматизированного теста Тьюринга и оценивает поведение пользователя в сети, а не его способность разгадывания слов.
Пользователю нужно выполнить простейшее действие - отметить галочкой утверждение «Я не робот». В этот момент специальный скрипт оценивает косвенные параметры, указывающие на возможного бота: информация о времени, проведенном на странице, IP-адрес и прочее. Если же у No CAPTCHA закрадываются сомнения в том, что пользователь - человек, то она предложит выполнить простое задание, вроде поиска определенного объекта на картинках или ввода стандартной капчи.
По сравнению с классической системой, даже нынешнее исполнение No CAPTCHA не особо обременяет пользователей. А усовершенствованная технология даже не требует ставить галочек. При проверке на экране откроется маленькое окно, в котором галочка ставится автоматически, сообщая пользователю о том, что он все-таки не робот. Если же система не уверена в этом, она запустит такой же механизм проверки, что и ранее.
Рассказывая о No CAPTCHA, разработчики ограничиваются лишь ссылками на машинное обучение и продвинутый анализ рисков, адаптируемый к новым угрозам. И их можно понять: не зная принципа работы системы, взломщики не смогут ее обойти.
Рождение легенды
Оригинальная версия капчи была разработана в 2000 году специалистами американского университета Карнеги - Меллон. Команда под руководством Луиса Фон Ана (Luis von Ahn) поставила перед собой цель создать защиту, устойчивую к распознанию и угадыванию. Это значит, что капча должна быть нерешаемой для систем распознавания текстов и прочих алгоритмов, а также ее нельзя угадать за малое число попыток (менее 1000). Но для человека она не представляет никакой трудности.
Один из первых и простейших способов обхода защиты - обратиться к обычному пользователю. Спамеры просто платили, причем смешные деньги - цент за картинку, но в бедных странах и это немало. Но в целом система была эффективна, и разработчики озадачились уже совсем другой проблемой.
Создатели капчи понимали, что на решение загадок с зашифрованным текстом миллионы пользователей тратят уйму времени, и было бы неплохо направить эти ресурсы в полезное русло. Так в 2007 году появилась reCAPTCHA, совмещающая, что называется, приятное с полезным. Ключевая ее особенность - то, что система не только защищает сайты от ботов, но и выполняет функцию расшифровки архивных документов.
ReCAPTCHA предлагает ввести пользователю не одно, а два слова, что довольно редко встречается в других системах. Секрет в том, что одно слово уже известно системе, и именно по нему будет проходить проверка, а второе взято из отсканированного документа, не расшифровываемого алгоритмом. Таким образом при прохождении теста пользователь помогает расшифровать реальный текст из старого документа. Конечно же, никто ему за это не заплатит, да и знали о такой уловке немногие.
Когда с помощью reCAPTCHA были расшифрованы архивные номера , на авторов этой системы обратили внимание в Google. В итоге «корпорация добра» купила сервис (в 2009 году) и взялась за расшифровку старых книг, а потом и за распознавание фрагментов снимков из Google Street View. Благодаря сервису в день оцифровывалось примерно 100 миллионов слов, что давало более двух миллионов книг в год.
Помимо reCAPTCHA, есть множество других вариантов. Умельцы со всего мира создают системы защиты с помощью логических и математических задач, интегрируют простенькие игры и разрабатывают все более и более продвинутые варианты. Но классическая капча с текстом остается одной из самых сбалансированных систем, хотя от ботов она уже не спасает.
Бесполезная защита
Одна из главных проблем любой капчи - ее исполнение. Боты - проблема не для пользователей, а для администраторов сайта. Перекладывать ее решение на обычных людей некорректно, тем более что при вводе очередной капчи пользователи испытывают лишь раздражение.
С развитием алгоритмов и искусственного интеллекта многие механизмы защиты стали практически бесполезными. Такая судьба постигла аудио- и видеокапчу, а также многие варианты защиты с логическими вопросами и картинками. В 2014 году сама Google продемонстрировала алгоритм, способный распознать и взломать даже максимально сложные изображения reCAPTCHA с 99,8-процентной вероятностью. Кстати, этот показатель даже выше, чем у человека.
Немало претензий и к самой reCAPTCHA. В первую очередь, необходимость вводить два слова увеличивает время выполнения задания. Не стоит забывать и о том, что пользователь помогает расшифровывать книги, тем самым выполняя работу для Google, и за эту работу ему никто не платит. Поэтому шаг поискового гиганта по изменению привычной капчи на нечто более умное и незаметное выглядит верным. Остается под вопросом лишь то, насколько умно система будет работать и точно ли облегчит жизнь рядовым пользователям.
+1 На рассмотрении
Если форма запроса в поддержке содержит капчу гугл, а в настройках капчи в магазине включен скрытый режим, форма не работает (пишет ошибку "Это поле обязательное", хотя все поля заполнены.Для временного исправления ситуации...
Капча не отображается
Обнаружил, что при использовании расширения PHP ImageMagick не работает капча в форме обратной связи {$wa->block("site.send_email_form")}. Как только переключился на GD, то капча заработала. Это у меня что-то не так или все же лучше...
Есть решение
Пишет Капча введена неверноСтандартная капча выдает тоже самоеПробовал чистить кэш браузера и удалял содержимое папки wa-cache не дало результатовhttp://fluxor.ru/signup/
Обратитесь к разработчику вашей темы дизайна. В исходном коде страницы капча запрашивается дважды, второй раз по кнопке Обратная связь в низу страницы. Там ее не видно, но в исходном коде она есть.
Есть решение
Добавляю капчу в форме потоке (модуль Поддержка), а она не выводится на сайте на стоковом шаблоне..
Есть решение
Добрый день!Некоторое время назад заметил, что капча на сайте работает неправильно. Какой бы код не вводил в это поле (верный код и не верный), капча не проходит проверку.... и...
{$wa->storage(["captcha", $wa->app()], "")}зачем такие танцы с бубнами?)) можно просто не вставлять {$wa->captcha()} в форму.проблема может быть если Вы пытаетесь использовать несколько капч на странице - решение попадалось на форуме...может плагин...а может кеш..гадать можно долго:)
Есть решение
В связи с последним обновлением до версии 1.8.4.225, в котором решались какие-то вопросы с reCAPTCHA и последующим быстрым обновлением до версии 1.8.5.226 возникла следующая проблема. Если включить в магазине в Настройках -> Оформление заказа показ...
А тем временем выкатили обновку. Надеюсь, что ничего нового не поломалось. Поставлю пока на тестовый хостинг. :)))
+1 Исправлено
При добавлении отзыва с настроенной невидимой капчей от Google при первом сабмите формы капча проходит, но если в форме были ошибки (не заполнены поля), то при отправке формы второй и последующий раз, капча не проходит...
+1
И что бы не происходило - ввод ЛЮБОГО кода капчи ВСЕГДА неправильный.
Описание проблемы
В начале июля несколько клиентов, независимо друг от друга, пожаловалась нам о том что часть токенов для прохождения ReCaptcha, которые они получают от нас, не принимается сайтами, где проходится капча. Мы провели ряд экспериментов и выявили, что при верификации ответа на ReCaptcha, Google.com может вернуть вот такую ошибку:
Этой проблеме подвержен не только наш сервис решения капч сайт, но и обычные люди, которые проходят рекапчу на каком-либо сайте, но сайт не принимает ответ на капчу от них.
В API ReCaptcha нет описания данной ошибки. Доподлинно нам не известны её причины, но некоторые зависимости мы смогли найти.
От чего зависит получение incorrect-captcha-sol
Появление incorrect-captcha-sol, по нашим наблюдениям, происходит по двум факторам:
1) Очень плохой IP
У Google, видимо, есть рейтинг для каждого IP-адреса. Если Вы решаете ReCaptcha без ошибок и не более 50 капч в сутки, то этот IP будет считаться хорошим.
Если Вы делаете что либо из этого списка:
совершаете много ошибок при решении
открываете капчу но не прорешиваете её до конца
решаете больше двух капч в минуту
То Ваш IP либо банится вообще, либо начинает получать такие токены, которые при дальнейшей проверке получают incorrect-captcha-sol
2) Плохие cookie
Помимо рейтинга IP, у Google есть рейтинг пользователей. Каждому, кто заходил на google.com или на страницу с установленной ReCaptcha, присваиваются свои cookie. Google анализирует Ваши действия в сети и оценивает насколько Вы похожи на живого человека или на робота. Если пользователь с одним набором cookie целый день решает капчи, даже если это делается с разных IP, то это, скорее всего, робот и такой пользователь будет решать капчи до зелёной галочки, но при дальнейшей проверке его ответа Google будет возвращать
{"success":false,"error-codes":["incorrect-captcha-sol"]}
Самое обидной в этом то, что при авторизации в гугловом почтовике gmail.com, Google проассоциирует Вас с Вашими прошлыми действиями и, если хоть один раз в прошлом посчитал Вас роботом, то теперь у Вас в 3 из 4 случаев не будет приниматься решение ReCaptcha.
Как RuCaptcha борется с incorrect-captcha-sol
Для снижения количества “плохих” токенов в ответах на капчи заказчиков, мы регулярно чистим куки в приложении работников, а также следим за качеством IP-адресов работников. Про это расскажем чуть подробнее.
Да, некоторая часть наших работников имеет “очень плохие” IP-адреса, решая с которых ReCaptcha они получают токены, которые при последующей верификации получают incorrect-captcha-sol. Для борьбы с этим, мы раз в час выдаём тестовую ReCaptcha для каждого уникального IP-адреса и верифицируем ответ на неё в google.com. Если мы получили incorrect-captcha-sol, то мы перестаём выдавать капчи для решения с этого IP и данный пользователь может решать капчи только через прокси (прокси, в свою очередь, также регулярно проверяются).
Таким образом мы снижаем процент “плохих” ответов до 1-3%. К сожалению, прошли те времена, когда мы с гордостью говорили, что все 100% ответов на ReCaptcha от нашего сервиса верные.
Возвраты за плохие решения
С июля мы включили приём reportbad на ReCaptcha. Поэтому для сокращения издержек на капчу, Вы можете настроить автоматическое уведомление нас о том, что полученный от нас токен не прошёл верификацию, как это сделать описано у нас в .
Каждый час мы собираем статистику по жалобам на работников и возвращаем средства за те капчи, которые были разгаданы "плохим" работником.
Похоже, гугл считает мой IP\куку плохим. Я нигде не могу пройти капчу, что мне делать?
Да, множество простых людей столкнулись с проблемой, что они не могут пройти авторизацию\регистрацию на сайтах, где установлена ReCaptcha. Что с этим делать мы расскажем в следующей новости. Следите за обновлениями на нашем блоге!
Добрый день форумчане, я столкнулся с проблемой, помогите пожалуйста. Я пользуюсь библиотекой vkNet (из Nuget).Так вот, я хочу авторизироваться в вк.
try { vk.Authorize(new ApiAuthParams { ApplicationId = appid, Login = email, Password = pass, Settings = scope, CaptchaKey = captchaKey, CaptchaSid = csid }); }
Если требуется капча (а она все время требуется), то я ее подгружаю её и вывожу в pictureBox1, человек вводит ее в textBox5 и сново нажимаю авторизация, но капча всегда неправильная и она просто обновляется для ввода другой. Почему так не получается?
14 ответов
Sasha95 , могу предположить, что из-за того, что каптча перезагружается, когда назначается pictureBox1.ImageLocation.У меня это было сделано как-то так: В слое логики:
class VKAnswerer
{
//много всяких свойств и методов, не относящихся к делу
private VkApi API { get; set; } = new VkApi();
public delegate void CaptchaNeededHandler(object sender,Bitmap captcha,CaptchaNeededException ex);
public event CaptchaNeededHandler CaptchaNeeded = delegate{};
public async Task
В слое GUI:
VKAnswerer ANS = new VKAnswerer(); ANS.CaptchaNeeded += async (s, img, err) => { var form = new СaptchaForm(img); form.ShowDialog(); if (await ANS.LogIn(form.userAnswer, err.Sid)) { AddLogMessage("Вход успешно произведен."); MainPanel.Enabled = true; } };
SomethingWrong(this, e);
Что это за функция?
using (HttpClient client = new HttpClient())
это какая-то библиотека? В стандартной нет, на сколько знаю. Но я так понимаю это просто get запрос.
var image = Bitmap.FromStream(await client.GetStreamAsync((e as CaptchaNeededException).Img));
Тут я так понимаю вы получаете url капчи.
CaptchaNeeded(this, (Bitmap)image, e as CaptchaNeededException);
А тут саму капчу вы выводите на экранЕсли пользоваться
catch (CaptchaNeededException cne) { csid = cne.Sid; string captchaUrl = cne.Img.AbsoluteUri; pictureBox1.ImageLocation = captchaUrl; captchaKey = textBox5.Text; }
то как нужно изменить этот код, чтоб капча не перезагружалась?
что это за функция?Это не имеет значения. Это просто событие, которое у меня оповещает о любых ошибках в данном проекте.
это какая-то библиотека? В стандартной нет, на сколько знаю. Но я так понимаю это просто get запрос.Это стандартный класс, про который можно прочитать на MSDN и которым я всегда пользуюсь для работы с HTTP(если версия.NET позволяет).
тут я так понимаю вы получаете url капчи.Нет, тут я получаю саму картинку.
а тут саму капчу вы выводите на экранНе совсем, тут я вызываю событие, которое пробрасывает каптчу слоем выше. А дальше она хоть и выводится на экран, но метод, который логинится, про это ничего не знает. Вывод происходит в слое GUI(на СaptchaForm, которую я тут не привожу, ибо детали ее реализации не имеют значения-вы можете выводить каптчу на экран абсолютно как угодно).
catch (CaptchaNeededException cne) { csid = cne.Sid; string captchaUrl = cne.Img.AbsoluteUri; pictureBox1.ImageLocation = captchaUrl; captchaKey = textBox5.Text; }
можно ли этот код переделать так, чтоб каптча не перезагружалась?
Хм, а что у вас за версия.NET ?
то как нужно изменить этот код, чтоб капча не перезагружалась?Посмотрев внимательно, вижу, что ImageLocation тут, скорее всего, не при чем(хоть я бы и не стал им пользоваться, чтобы быть уверенным, что изображение не перезагрузится ни при каких обстоятельствах). Больше сомнений вызывает:
captchaKey = textBox5.Text;
Это так и написано, или есть какой-то еще код/этот код вырван кусками из контекста? Есть еще какой-то код, который со всем этим работает? Если оно так и написано-то откуда в textBox5 возьмется результат?
хм, а что у вас за версия.NET ?Любая от 4.0 и выше его поддерживает.Вкратце говоря-лучше всего делать так, как указано в моем коде. Так гарантированно работает без каких-либо неожиданных заморочек.
Ну на самом деле я тут наговнокодил, но это дело решаемо, потому что изначально я переменной captchaKey ничего не присваиваю, но у меня всегда выскакивает окшко с вводом капчи, поэтому я всегда попадаю в блок catch. И тогда, когда я в него попадаю я уже ввожу каптчу и сново жму авторизваться(т.е. когда я жму второй раз авторизация, то каптча уже заполнена). У меня версия NET 4,5, но у что-то я не вижу этого класса, о котором вы говорите. Он точно в System.Net живет?
У меня версия NET 4,5, но у что-то я не вижу этого класса, о котором вы говорите. Он точно в System.Net живет?Он живет в пространстве имен System.Net.Http.
т.е. когда я жму второй раз авторизация, то каптча уже заполненаНу какой-то еще код, который бы заполнял captchaKey перед второй авторизацией где-то есть? Если нет-то работать оно, понятное дело, не может никак. Ведь в текстбокс либо ничего не введено, либо введено не то.