Приветствую.
Устал я с гугло капчей бороться, то сайт тормозит, то половину ботов не сечет.
Начал собирать доп и уже тестирую, конечно не готов пока, мыслей много, время мало)
Справляется с задачей, пока даже гугло капчу отключил. Но этот доп, скорее как усилитель защиты.
Суть его простая, невидимое поле, на js скрываемое и в форму регистрации, с убедительным названием. В плане сделать ротацию названий.
Дальше всех кто его заполнил и получил пинок, в лог файл. Записывается дата, время и ip.
Лог хранится /wp-recall/logs. создается при первой попытке входа, удаляется при деактивации, чистится из настроек.
В общем есть планы еще развить его, но оставить именно под регистрацию.
Встал вопрос где вывести логи, что бы постоянно не лазить для работы с ними. Сейчас в настройках выводятся, мне удобно, скопировал, отсортировал и в бан ботов.
Может есть идеи куда пристроить такое кроме настроек?
Скрин
Буду в этой теме выкладывать что получилось и что нет...вопрос, сбор идей, так как хочется и просто, и боле менее успешно бороться 😉
Теперь в логах выводится и город и страна по api сервиса:
Скрин:
Пока не знаю что будет с логами может появится возможность сразу банить и сортировать.
Но сначала решу вопрос с проксями и vpn что бы не только последняя точка отдавалась.
Куда выводить им как логи пока так и не придумал что бы проще было работать хотя может и так оставить))
У Владимира (Otshelnik-Fm), есть великолепное и уникальное решение по добавлению гугло капчи, которое не тормозит загрузку сайта. Если он добавит его допом, как будет время, то получится очень серьезная защита и без тормозов. А тормоза очень существенные по reCAPTCHA в дефолте (Page Speed Insights).
Владимир, видишь какой тонкий намек на новый доп от тебя 😉
Суть в том, что отложенная загрузка скриптов reCAPTCHA, будет компенсироваться скрытым полем.
Привет Игорь.
Мне кажется неблагодарное дело глазами и руками анализировать и банить.
Мне в частых атаках limit login attempts спасает, в пустых регах гуглокапча. Да - она пропускает ботов и они регаются. Но никакую активность не несут.
Так что я не парюсь об этом. Потом просто по неактивности выборку делаешь и этих юзеров удаляешь. Но я даже так еще не делал.
Мне кажется если серьезно атакуют - то стоит выбрать решение от сообщества вордпресс - wp security, wp cerber (акисмет или модуль к жутьпаку даже) и т.д. те что проверены годами.
Можно fail2ban на сервере поднять - автоматом будет по логам смотреть и банить по правилам - временно или навсегда.
А разбирать логи вручную... Разве в век ИИ (AI) и машинного обучения (ML) так делают?
Про отложенную гуглокапчу - я не сделал доп и в KWPL не выкатил это обновление, хотя оно готово - потому что предполагаю что будут от этого только проблемы. На моем сайте разработчика я это могу использовать. Но 100% в нем я не уверен.
Вообще сейчас капча 3.0 от гугла - невидимая - она по алгоритмам определяет что ты человек - вот за ней будущее. Думаю что стоит использовать ее. Ну или подцепить апи какого нибудь сервиса и туда мейл и ip отправлять - он тебе скажет - это бот или человек.
Насчет плагинов, да cerber крут бесспорно, но слишком для меня много лишнего и напрягает он сервер. Конечно, для чего-то серьезного уже надо выше wp использовать защиту.
Насчет логов, скорее всего будет оценка по сервису внешнему, и там уже решение какое-то о дальнейшем. Но осторожно, те же плагины безопасности, с легкостью банят ботов яндекса, рамблера, майла... Пока мне просто интересно их просматривать))
Капча 3.0, к сожалению и она уже обходится в автоматическом режиме, куча инфы по ней. Да и не думаю, что появится что-то, что будет 100 процентов защищать, я про капчи.
В общем, буду пока развивать и собирать инфу, и посмотрю, что выйдет 🙂
Сейчас прикручивая проверку ip по сервисам и спам базам, столкнулся с тем, что они легко могут банить и ip простых пользователей, так как с них сидят и спамеры))
В общем автоматический бан, штука вредная. Лучше пока буду помечать спамные ипы.
За три дня, ни одного бота не зарегистрировалось, а так по 5-20 в день было))
Игорь, добрый день!
Раньше я пользовался Cerber-ом. Но потом он стал просто моструозным. Перепробовал, пожалуй, все плагины в репозитории. Остановился на плагине
Никаких спам-регистраций, спама в комментариях нет. Еще и от брутфорса защищает.
Сейчас автоматически не дает зарегистрироваться ботам, собирает ip и помечает те, что уже есть в базах spamhaus)
Теперь дело за использованием логов. Можно автоматически отсортировать и наиболее наглых отправлять в бан или в редирект или формировать блок для бана и уже на усмотрение админа...
Нашлось время 🙂
Теперь можно писать правило сразу в .htaccess, делается копия предыдущей версии htaccess и работает на функции wp insert_with_markers, поэтому без ошибок и проблем.
На очереди использование пометок спам базы и...в общем как время будет))
Кстати, посмотрел разные плагины защиты, они автоматом редирект устраивают или запрещают доступ ботам спамерам...но блин на уровне движка и в итоге получаем нагрузку от всего этого, а не уменьшаем.
Поэтому htaccess идеален.
Скрин
Продолжаю монолог))
Благодаря обалденному сниппету Владимира (еще раз спасибо), можно делать со страницей опций, все, что угодно. Например, сделать по веселее:
Скрин:
Конечно и бесспорно, спасибо Андрею, за шикарный плагин, я даже не знаю, что нельзя в нем реализовать))
Есть моент, который еще не решал, но...
Хотелось бы запускать функцию по клику на кнопку или по штатному сохранению. Я про запись в файл, пока просто по перезагрузке страницы запускается. Не знаю к чему прицепится, точнее еще даже не смотрел толком, так как на js все без перезагрузки страницы, в смысле сохранение.
garry сказал(а)
Благодаря обалденному сниппету Владимира
а что за сниппет?
p.s. - а если страница настроек будет большая - может ее сделать отдельной страницей? Ну как страница настроек вордпресс или дочерняя через add_options_page. Там места больше - есть где развернуться на всю ширину
garry сказал(а)
Хотелось бы запускать функцию по клику на кнопку или по штатному сохранению.
Вот при сохранении настроек реколл - фрагмент из допа Prime Statistics:
// при сохранении опций в админке - сбросим кеш add_action( 'admin_init', 'my_p_reset_cache' ); function my_p_reset_cache() { // проверим права юзера, и запрос - это должен быть запрос обновления настроек if ( current_user_can( 'manage_options' ) && isset( $_POST['action'] ) && $_POST['action'] == 'rcl_update_options' ) { // do it! } }
Preci сказал(а)
Какие логи?Если те что в recall то да, они пишутся по времени в php
Что бы по времени что в wordpress писались надо тут
Вы не можете просматривать опубликованные ссылкиЗаменить date на current_time
Ага, я так и сделал у себя, просто думал есть какой-то еще глубокий смысл в этом) Спасибо!
Добавил еще одну защиту, тоже не самую простую для ботов, но ничего не нагружающую, теперь можно две использовать сразу)
Давно у меня код чартика лежал и все незнал куда его приспособить и теперь он будет в этом допе работать.
Ротация логов по дням.
Скрин, тестовый вариант и логи пустые на чарте
Пока боты не пробили ни разу, только ошибку получают и в логи пишутся.
Если честно я не понимаю для чего все эти заморочки. Разве что для практики написания кода, не более.
Я когда то то же хотел вести логи и отслеживать всех ботов, но потом понял что это пустая трата времени. Посмотришь на эту статистику день, два и забудешь.
У меня запрещена регистрация через WP и стоит каптча от гугла, все, никаких авторегов нет. Раз в неделю проскакивает спамер, который добавит на утверждение рекламную запись или комментарий - это максимум. Никаких проблем с тормозами сайта из-за гугло капчи не было никогда.
Если же тут про ботов которые просто ходят по сайту - опять же, настраивайте сервер, включайте кеш и пусть ходят сколько им надо.
Ну и самое главное - IPv6 - это 340 ундециллионов адресов. (Это число 340, за которым следует 36 нолей.)
Про тормоза от гугло капчи, если подключена всплывающая форма или через шоткод, в общем на сайте, то она реально показатели снижает по Page Speed Insights, так что смысл ее не использовать есть.
Поэтому и доп, который заменяет капчу)
Насчет логов, конечно нет смысла все, что там есть использовать.
Но так как некоторые боты ломятся по 1000+ раз, вот их айпи уже и обрабатывать. Позже сделаю автоматический бан гадов, в общем посмотрю. Буквально три дня назад, 356к раз стукнуи, таких сразу в бан.
Логи это не самая важная часть в допе, основное, это не дать им пройти без гугло капчи.
Упор допа не на логи, они вторичны, а на не пропуск ботов.
Вот таких после 5-10 попыток регистрации будет банить и уже никаких запросов никуда.
Насчет сервисов, я вообще думаю не использовать, бессмысленно по большому счету, да и лишний гемор с обрубанием оопять же запросов при нагрузке...
Вот этот момент с определением локации и наличия айпишки в базах, я сделал скорее из любопытства личного не более))
А стукнули...попытка зарегистрироваться, спам бот, точнее три айпишки ботов.
Всем привет.
Возникли вопросы.
Действие выполняется один раз в сутки текущие или за 24 часа с момента его создания?
add_action('rcl_cron_daily','бла_бла'); function бла_бла(){ // что-то }
Выше и этот вариант равнозначен?
add_action('rcl_cron_daily_schedule','бла_бла',10);
Надо ли при деактивации допа, удалять как-то задание крона?
rcl_cron_daily_schedule выполняется раз в сутки, но с момента его регистрации начинается его отсчет (собственно как и любого другого отрезка ВП крона). Например это у меня в 22:12
Может проще серверный крон натравить на свой файл - и тогда выполнение будет точным. Но это только если решение для себя. Для джругих - замучаешься каждому объяснять как настроить и куда тыкнуть и что вписать
Я честно говоря никогда таким вопросом не озадачивался. Он где-то фоном когда-то работает да и ладно.
Единственно где он мне нужен был более менее точно это в генерации днейрождений - чтоб именинников не пропустить и поздравить успеть их в новом дне. Там я делал банально - вешал функцию на часовой крон и там проверял - есть ли уже 00 часов. Если нет - сразу return - т.е. никакой нагрузки функция не несла, кроме часа 00 - тогда и запускал формирование файла с именинниками.
Понятно что погрешность у такой системы зависит от времени часового крона - на моем сайте это 11 минута, на кодеселлере 15 минута (тогда именно и обновляется доп в карточке товара)