Скажу проще нужных или не нужных разработок нет, даже если оно будет платным я уверен что на него найдется свой потребитель, поэтому стоит делать все. На ВП тоже куча разработок которые не кому не нужны, но они находятся в экосистеме и дают плюс для сообщества. Поэтому не слушайте не кого есть время и желание делайте.
Хорошее намерение. Если есть желание в независимом решении для капчи то замахивайтесь шире, комплекснее — добавьте решение вопроса защиты от парсинга агентами и ддоса. Что-то типа функционала Анубиса
Блин, перечисленные меры — это основа основ, а не комплексное решение. Вопрос нев том, «можно ли сделать свою защиту», а в том: «Зачем, если рынок поделен и себстоимость одной проверки у гигантов стремится к нулю?» Если ответ — «ради опыта и pet-проекта» — то флаг в руки! Если ради бизнеса — тут я остаюсь при своем мнении: — это путь к убыткам
Вы правы: сделать полноценную антибот-систему уровня Google, Cloudflare или Яндекса в одиночку крайне сложно. У них огромная инфраструктура, глобальная репутация, большие данные, ML-модели и постоянная команда поддержки. Моя цель не в том, чтобы “с нуля повторить их уровень”, а в том, чтобы сделать независимое, гибкое и контролируемое решение для CMS и сайтов, где важны приватность, отсутствие внешних зависимостей и возможность адаптации под конкретный проект.
Я тоже понимаю риски:
— генерация капчи на основном сервере может стать точкой нагрузки;
— простые challenge-сценарии по отдельности давно не являются надёжной защитой;
— фронтенд сам по себе не может быть источником доверия;
— любую проверку нужно подтверждать на сервере;
Поэтому если делать свой продукт, то только как многоуровневую защиту:
— rate limit и ограничения на генерацию challenge;
— отдельная серверная валидация и одноразовые токены;
— не опора на один тип капчи, а комбинация сигналов;
— fallback-сценарии;
— логирование, мониторинг и регулярное обновление правил.
То есть речь не о том, что “самописная капча лучше больших сервисов”, а о другом сценарии: можно ли сделать собственную защиту, которая будет достаточно хороша для части проектов и при этом даст контроль над данными и логикой. Вот именно этот вопрос мне и интересен.
Ах да, еще немаловажная деталь — если этот иснтрумент будет платным, то в 95% уйдете в убыток — так как если именно из-за вашего инструмента сайт понесет репутационные потери — то сами понимаете. Но — это мое личное мнение. Как человек, который не первый год в разработке — советую для начала все таки изучить принципы работы данных сервисов
Плохая затея, и вот почему: Во-первых — сама генерация каптчи на сервере- это ресурснозатратно (работа с изображениями, криптография, сессии). Если капча генерируется на том же сервере, что и сайт, злоумышленник может запустить атаку, запрашивая тысячи новых капч в секунду, и все — ахтунг (был опыт(только тссс — никому 😀), когда-то очень давно, дудусили один сайт — и именно родная каптча помогла его положить).
В вашем посте есть понятие «умная проверка» (Managed). Но на основе чего она будет принимать решение «бот перед нами или нет»? Без «больших данных» терабайт так на 5 минимум капча будет слепа, аки котенок.
Слайдер (drag and drop) уже давно проходится простыми скриптами, которые двигают ползунок, пока фон не совпадет.
Вопрос-ответ (2+2=?) решается простым Regexp.
Текстовые капчи с искажениями нейросети распознают с точностью 99%.
Вы пишете: «невидимая проверка при отправке формы». Где будет происходить эта проверка? На фронтенде. Любой злоумышленник откроет консоль браузера (F12), посмотрит твой JavaScript-код и увидит:
Как именно формируется токен.
Куда он отправляется.
Какие поля проверяются.
Достаточно просто эмулировать этот запрос, и твоя «невидимая проверка» будет пропускать ботов, потому что они будут притворяться твоим же скриптом. Чтобы этого избежать, нужна сложная обфускация.
Создать капчу, которая не будет раздражать пользователей, не блокирует людей с ограниченными возможностями — при этом надёжно отличает ботов от людей и не требует постоянной доработки — это задача, над которой годами работают целые команды в крупных компаниях. Если у вас есть хорошая сумма денег для этой разработки — то вперед!
Современная защита от ботов строится не на «угадай картинку», а на анализе сотен сигналов: поведение курсора, скорость ввода, отпечаток устройства, геолокация, репутация IP, паттерны сессии. Профессиональные сервисы имеют доступ к глобальным базам данных и моделям машинного обучения, обученным на триллионах запросов. Кастомное решение, как правило, ограничивается локальной логикой.
Так что — мое мнение — на каком-нибудь захудалом сайте, куда ежедневно заходит три человека проверить погоду — может быть и сойдет. Для всех остальных — увы, пока лучше пользоваться спец сервисами
Идея классная. У меня только один вопрос, почему существуют внешние сервисы гугла и яндекса, если можно сделать свою для CMS?) Может в них есть какие-то фичи, которые сложные в реализации и которые нельзя реализовать на уровне «своей» системы?
Все работает! Спасибо! Метки передаются в CRM
Скажу проще нужных или не нужных разработок нет, даже если оно будет платным я уверен что на него найдется свой потребитель, поэтому стоит делать все. На ВП тоже куча разработок которые не кому не нужны, но они находятся в экосистеме и дают плюс для сообщества. Поэтому не слушайте не кого есть время и желание делайте.
Хорошее намерение. Если есть желание в независимом решении для капчи то замахивайтесь шире, комплекснее — добавьте решение вопроса защиты от парсинга агентами и ддоса. Что-то типа функционала Анубиса
спасибо за труд!
Задумка эта не ради бизнеса, а ради интереса использовать что то свое не прибегаю к иным решениям. И да:
Я не собираюсь
Вот цель
Блин, перечисленные меры — это основа основ, а не комплексное решение. Вопрос нев том, «можно ли сделать свою защиту», а в том: «Зачем, если рынок поделен и себстоимость одной проверки у гигантов стремится к нулю?» Если ответ — «ради опыта и pet-проекта» — то флаг в руки! Если ради бизнеса — тут я остаюсь при своем мнении: — это путь к убыткам
Огромное спасибо за Ваше мнение.
Вы правы: сделать полноценную антибот-систему уровня Google, Cloudflare или Яндекса в одиночку крайне сложно. У них огромная инфраструктура, глобальная репутация, большие данные, ML-модели и постоянная команда поддержки. Моя цель не в том, чтобы “с нуля повторить их уровень”, а в том, чтобы сделать независимое, гибкое и контролируемое решение для CMS и сайтов, где важны приватность, отсутствие внешних зависимостей и возможность адаптации под конкретный проект.
Я тоже понимаю риски:
— генерация капчи на основном сервере может стать точкой нагрузки;
— простые challenge-сценарии по отдельности давно не являются надёжной защитой;
— фронтенд сам по себе не может быть источником доверия;
— любую проверку нужно подтверждать на сервере;
Поэтому если делать свой продукт, то только как многоуровневую защиту:
— rate limit и ограничения на генерацию challenge;
— отдельная серверная валидация и одноразовые токены;
— не опора на один тип капчи, а комбинация сигналов;
— fallback-сценарии;
— логирование, мониторинг и регулярное обновление правил.
То есть речь не о том, что “самописная капча лучше больших сервисов”, а о другом сценарии: можно ли сделать собственную защиту, которая будет достаточно хороша для части проектов и при этом даст контроль над данными и логикой. Вот именно этот вопрос мне и интересен.
Без сторонних шпионов сервисов. Сейчас актуально как никогда.
Ах да, еще немаловажная деталь — если этот иснтрумент будет платным, то в 95% уйдете в убыток — так как если именно из-за вашего инструмента сайт понесет репутационные потери — то сами понимаете. Но — это мое личное мнение. Как человек, который не первый год в разработке — советую для начала все таки изучить принципы работы данных сервисов
Плохая затея, и вот почему: Во-первых — сама генерация каптчи на сервере- это ресурснозатратно (работа с изображениями, криптография, сессии). Если капча генерируется на том же сервере, что и сайт, злоумышленник может запустить атаку, запрашивая тысячи новых капч в секунду, и все — ахтунг (был опыт(только тссс — никому 😀), когда-то очень давно, дудусили один сайт — и именно родная каптча помогла его положить).
В вашем посте есть понятие «умная проверка» (Managed). Но на основе чего она будет принимать решение «бот перед нами или нет»? Без «больших данных» терабайт так на 5 минимум капча будет слепа, аки котенок.
Вы пишете: «невидимая проверка при отправке формы». Где будет происходить эта проверка? На фронтенде. Любой злоумышленник откроет консоль браузера (F12), посмотрит твой JavaScript-код и увидит:
Достаточно просто эмулировать этот запрос, и твоя «невидимая проверка» будет пропускать ботов, потому что они будут притворяться твоим же скриптом. Чтобы этого избежать, нужна сложная обфускация.
Создать капчу, которая не будет раздражать пользователей, не блокирует людей с ограниченными возможностями — при этом надёжно отличает ботов от людей и не требует постоянной доработки — это задача, над которой годами работают целые команды в крупных компаниях. Если у вас есть хорошая сумма денег для этой разработки — то вперед!
Современная защита от ботов строится не на «угадай картинку», а на анализе сотен сигналов: поведение курсора, скорость ввода, отпечаток устройства, геолокация, репутация IP, паттерны сессии. Профессиональные сервисы имеют доступ к глобальным базам данных и моделям машинного обучения, обученным на триллионах запросов. Кастомное решение, как правило, ограничивается локальной логикой.
Так что — мое мнение — на каком-нибудь захудалом сайте, куда ежедневно заходит три человека проверить погоду — может быть и сойдет. Для всех остальных — увы, пока лучше пользоваться спец сервисами
В любом случае идея хорошая, но нужно смотреть реализацию насколько она будет противостоять обходу как будет происходит анализ действии и прочее.
Конечно в них много чего есть, что очень сложно повторить и реализовать.
Например:
Это только малая часть. Я предлагаю разработку для базовых потребностей не прибегая к иным способам.
Идея классная. У меня только один вопрос, почему существуют внешние сервисы гугла и яндекса, если можно сделать свою для CMS?) Может в них есть какие-то фичи, которые сложные в реализации и которые нельзя реализовать на уровне «своей» системы?
ПС. Не эксперт по каптчам
надо. поправил коммент.
А line 236 не надо менять?
В файл github.com/instantsoft/icms2/blob/0d89b034baf84a8c949dc7652b5200178f33eba7/system/controllers/messages/actions/notice_action.php#L12 добавлена проверка на csrf_token, который при запросе из админки не добавляется.
Чтобы исправить ошибку откройте файл templates\admincoreui\js\admin-core.js
и замените строку В ДВУХ МЕСТАХ
на строку
вот на картинке
кнопки действий в уведомлениях в админке заработают.
Не забудьте почистить кеш браузера, так как это правки в js файле, который может быть закеширован браузером.
Обновился. Спасибо за работу.
На демо сайте instantcms ситуация аналогична!
Спасибо огромное за релиз! Не уверен, что нужно писать сюда, но раньше такой проблемы никогда не было. Короче не могу удалить уведомления в админке
Нажима. на крестик и… ничего не происходит. Прошу проверить и помочь пофиксить.
а можно в личку шепнуть, что за хостинг такой мегадешевый?