Как мы избавились от спама через формы обратной связи на сайте
Несколько месяцев назад я решил перевести свой сайт moskalukov.ru на собственную #amCMS (если интересно, почему она так называется – спрашивайте в комментариях).
В основу amCMS легла идея, что в настоящее время различных #CMS уже много, среди них есть отличные бесплатные, такие как #Joomla и #Wordpress, но есть одно «но»: все они очень функциональны и сильно перегружены, что в большинстве случаев на фиг никому не нужно, а только создает дополнительную путаницу в меню, настройках и коде.
amCMS же, заточена на построение воронки продаж и приеме заявок. Основной, я бы сказал базовый для любой универсальной CMS, функционал в ней есть: управление текстами, категориями текстов, меню, модулями и пользователями. Кроме этого добавлено управление клиентами и управление заявками. Кроме того, «в коробке» присутствует telegram-бот информатор, обработка формы обратной связи и некоторые #SEO возможности, в частности создание актуального #sitemap.xml одним кликом.
Однако, еще при проектирования кода формы была заложена возможность блокирования ip адресов спамеров, причем не только ip, но и целых сеток. И уже в первый день были заблокированы десяток адресов. А при попытке отправить заявку с заблокированного адреса, отправитель получает вежливый отказ.
Но вот беда, спам отправляется не живыми пользователями, а программами, которым до оранжевой лампочки температура нашего отказа.
Но и на этот случай у нас есть решение. Дело в том, что код формы у нас изначально для всех ситуаций один, но заголовок окна формы и одно из полей формы заполняются ява-скриптом. А на сколько я знаю, подавляющее большинство спам-программ имеют достаточно примитивную организацию и не заморачиваются эмуляцией выполнения ява-скиптов, поэтому заявки на обработку #amCMS поступают с пустым полем, что и фильтруется на входе.
Таким образом, мы избавились от 99% #спам заявок, а оставшийся 1% фильтруем с помощью блокировки ip адресов.
К результатам таких мероприятий мы вернемся примерно через месяц, а пока будем публиковать другую информацию о возможностях наших amCMS:Сайт и amCMS:Тора
#сайтдлябизнеса
Ничего особо нового я не сейчас не расскажу. Спаму в интернет как явлению уже дохрена лет и до сих пор так никто и не придумал, как от него глобально избавиться. Не существует таких решений. Поэтому каждый борется как может.
Несколько месяцев назад я решил перевести свой сайт moskalukov.ru на собственную #amCMS (если интересно, почему она так называется – спрашивайте в комментариях).
В основу amCMS легла идея, что в настоящее время различных #CMS уже много, среди них есть отличные бесплатные, такие как #Joomla и #Wordpress, но есть одно «но»: все они очень функциональны и сильно перегружены, что в большинстве случаев на фиг никому не нужно, а только создает дополнительную путаницу в меню, настройках и коде.
amCMS же, заточена на построение воронки продаж и приеме заявок. Основной, я бы сказал базовый для любой универсальной CMS, функционал в ней есть: управление текстами, категориями текстов, меню, модулями и пользователями. Кроме этого добавлено управление клиентами и управление заявками. Кроме того, «в коробке» присутствует telegram-бот информатор, обработка формы обратной связи и некоторые #SEO возможности, в частности создание актуального #sitemap.xml одним кликом.
И вот недавно мы переехали на новый движок. И в первый же день столкнулись со спамом через форму обратной связи.
Однако, еще при проектирования кода формы была заложена возможность блокирования ip адресов спамеров, причем не только ip, но и целых сеток. И уже в первый день были заблокированы десяток адресов. А при попытке отправить заявку с заблокированного адреса, отправитель получает вежливый отказ.
Но вот беда, спам отправляется не живыми пользователями, а программами, которым до оранжевой лампочки температура нашего отказа.
Но и на этот случай у нас есть решение. Дело в том, что код формы у нас изначально для всех ситуаций один, но заголовок окна формы и одно из полей формы заполняются ява-скриптом. А на сколько я знаю, подавляющее большинство спам-программ имеют достаточно примитивную организацию и не заморачиваются эмуляцией выполнения ява-скиптов, поэтому заявки на обработку #amCMS поступают с пустым полем, что и фильтруется на входе.
Таким образом, мы избавились от 99% #спам заявок, а оставшийся 1% фильтруем с помощью блокировки ip адресов.
К результатам таких мероприятий мы вернемся примерно через месяц, а пока будем публиковать другую информацию о возможностях наших amCMS:Сайт и amCMS:Тора
#сайтдлябизнеса
❤2🔥1
Как свои товары добавить в Яндекс.Товары
Если вы не маркетплейс и товары предлагаете не через маркетплейс, то путей два.
1. Добавить специальную разметку на страницах ваших товаров. Речь о микроразметке schema.org
2. Генерировать товарный фид с товарами.
В am.CMS:TORa реализованы оба подхода, причем разметка была реализована раньше.
Когда появился товарный фид и мы решили предъявить его в Яндекс.Товары, оказалось, что наши товары там уже есть.
Поисковик, проиндексировав страницы и обнаружив микроразметку с товарами, автоматически занес их "куда надо", а сайту присвоил значок магазина.
Если вы не маркетплейс и товары предлагаете не через маркетплейс, то путей два.
1. Добавить специальную разметку на страницах ваших товаров. Речь о микроразметке schema.org
2. Генерировать товарный фид с товарами.
В am.CMS:TORa реализованы оба подхода, причем разметка была реализована раньше.
Когда появился товарный фид и мы решили предъявить его в Яндекс.Товары, оказалось, что наши товары там уже есть.
Поисковик, проиндексировав страницы и обнаружив микроразметку с товарами, автоматически занес их "куда надо", а сайту присвоил значок магазина.
Немного о GET и POST методах в HTTP запросе
Последний пример. Коллега должен отправить массив данных методом post, и, в процессе обсуждения, уточняет можно ли массив отправить «в ссылке». Оказалось, речь идет о параметрах get метода. А ведь в сети валом информации по этому поводу.
В итоге, набросал ему немного базы, надеюсь, дальше разберется. А ниже, чуток в переработанном виде привожу ту саму базу (не пропадать же добру), тем более, что я ее анонсировал в заголовке.
1. В «ссылках» мы ничего не отправляем. Мы отправляем запросы серверу, у которых есть заголовок, тело, метод и параметры. Сервер, в свою очередь, отправляет ответы, у которых есть заголовок и тело.
2. В основном, мы работаем с GET запросом и POST запросом, хотя методов в http запросе больше.
3. В общем случае, GET запрос служит для получения данных с сервера (в запросе отправляются условия-параметры для выбора данных). Параметры GET запроса отправляются в URI
4. В общем случае, POST запрос служит для отправки данных на сервер. Параметры POST запроса отправляются в теле запроса.
5. Заголовок, тело и URI имеют ограничения по размеру.
6. На самом деле, технически, логику двух предыдущих пунктов можно нарушить и отправить серверу информацию в GET запросе и он ее обработает, если код программы сервера это позволяет.
7. Отправить большие объемы данных в виде параметра GET запроса нельзя, потому что в этом случае URI может не поместиться в существующие серверные ограничения.
8. Если для отправки запроса установлен какой-то метод (GET или POST), то все параметры запроса должны отправляться указанным методом. Это важно.
9. Токен авторизации всегда отправляется в заголовке запроса или в заголовке ответа.
10. Серверного программного обеспечения много и у всех разные ограничения. В связи с тем, что мы не знаем, с каким именно придется работать, нужно учитывать минимально максимальные размеры:
- заголовка запроса не превышают 8 килобайт;
- get-запроса не превышают 2 килобайт;
- post-запроса не превышают 8 мегабайт.
Чем современнее программное обеспечение, тем большие размеры допускаются, к тому же, в большинстве случаев эти размеры можно изменить в настройках сервера (если с админом договоритесь).
Надеюсь, кому-то пригодилось. Всем добра.
#get #post #http #запрос #токен #uri
Последнее время часто пересекаюсь с начинающими программистами. А в процессе общения выясняется, что ребята периодически обладают недостаточными или неверными представлениями о базовых понятиях.
Последний пример. Коллега должен отправить массив данных методом post, и, в процессе обсуждения, уточняет можно ли массив отправить «в ссылке». Оказалось, речь идет о параметрах get метода. А ведь в сети валом информации по этому поводу.
Печально, даже не то, что программер не в курсе какого-то нюанса, а то, что он не может (или не хочет) найти ответ самостоятельно. Неужели часть молодежи утратила способность к самообразованию?
В итоге, набросал ему немного базы, надеюсь, дальше разберется. А ниже, чуток в переработанном виде привожу ту саму базу (не пропадать же добру), тем более, что я ее анонсировал в заголовке.
2. В основном, мы работаем с GET запросом и POST запросом, хотя методов в http запросе больше.
3. В общем случае, GET запрос служит для получения данных с сервера (в запросе отправляются условия-параметры для выбора данных). Параметры GET запроса отправляются в URI
4. В общем случае, POST запрос служит для отправки данных на сервер. Параметры POST запроса отправляются в теле запроса.
5. Заголовок, тело и URI имеют ограничения по размеру.
6. На самом деле, технически, логику двух предыдущих пунктов можно нарушить и отправить серверу информацию в GET запросе и он ее обработает, если код программы сервера это позволяет.
7. Отправить большие объемы данных в виде параметра GET запроса нельзя, потому что в этом случае URI может не поместиться в существующие серверные ограничения.
8. Если для отправки запроса установлен какой-то метод (GET или POST), то все параметры запроса должны отправляться указанным методом. Это важно.
9. Токен авторизации всегда отправляется в заголовке запроса или в заголовке ответа.
10. Серверного программного обеспечения много и у всех разные ограничения. В связи с тем, что мы не знаем, с каким именно придется работать, нужно учитывать минимально максимальные размеры:
- заголовка запроса не превышают 8 килобайт;
- get-запроса не превышают 2 килобайт;
- post-запроса не превышают 8 мегабайт.
Чем современнее программное обеспечение, тем большие размеры допускаются, к тому же, в большинстве случаев эти размеры можно изменить в настройках сервера (если с админом договоритесь).
Надеюсь, кому-то пригодилось. Всем добра.
#get #post #http #запрос #токен #uri
👍2❤1
А вы знали, что чтобы удалить 150 публикаций в Дзен, нужно кликнуть 450 раз и переместить мышку на 7 с половиной метров?
Вот и живите теперь с этим :)
Вот и живите теперь с этим :)
Добавил в am.CMS:Сайт генерацию RSS-фидов для двух ключевых сервисов.
Это плановое добавление инструментария для продвижения сайта и прямого предъявления материалов вовлеченной аудитории.
Поскольку am.CMS ветки "Сайт" служит для создания для контент-сайтов (для торговли у нас есть "Тора"), фиды передают именно текстовые материалы.
Напомню, что в не далеком прошлом RSS был популярен и использовался в читалках, подкастах, кросспостинге и на профплатформах. Сегодня он не так очевиден массовому пользователю, но продолжает занимать прочную нишу там, где нужно передать "голый" контент с минимальными затратами. Он интересен тем, кто не желает мириться с алгоритмами социальных сетей (это смотри, а это тебе не интересно) и отслеживает материалы в том виде и в том порядке, в котором они генерируются автором.
Итак. Реализована интеграция для двух сервисов, где этот подход особенно актуален:
"Яндекс.Вебмастер" (раздел "Представление в поиске" -> "Свежее и актуальное").
Здесь rss-фид поможет быстро индексировать ваши новостные, событийные и прочие материалы. Когда-то в поиске Яндекса была отдельная лента новостей (которую продали Дзену), где материалы могли появиться в течение пары минут после публикации на сайте, теперь же они в результатах общего поиска, но с временной плашкой, типа "10 минут назад".
"Дзен". Чтобы подключить фид в Дзене переходим в Студию. А дальше "Настройки" -> "Свой сайт".
Подключение кросспостинга с сайта дает возможность автоматически делиться вашими статьями с одной из самых массовых российских платформ для блоггинга и новостей. Ежедневная аудитория Дзена более трех десятков миллионов человек и пренебрегать такой аудиторией было бы ошибочно.
Здесь свои правила, но попадание "в тему" позволит не просто получить трафик, а получить хороший бонус в виде узнаваемости бренда.
Это плановое добавление инструментария для продвижения сайта и прямого предъявления материалов вовлеченной аудитории.
Напомню, что rss-фид - это структурированный xml-файл, который аккуратно раскладывает в специальном формате материалы вашего сайта по полочкам.
Поскольку am.CMS ветки "Сайт" служит для создания для контент-сайтов (для торговли у нас есть "Тора"), фиды передают именно текстовые материалы.
Напомню, что в не далеком прошлом RSS был популярен и использовался в читалках, подкастах, кросспостинге и на профплатформах. Сегодня он не так очевиден массовому пользователю, но продолжает занимать прочную нишу там, где нужно передать "голый" контент с минимальными затратами. Он интересен тем, кто не желает мириться с алгоритмами социальных сетей (это смотри, а это тебе не интересно) и отслеживает материалы в том виде и в том порядке, в котором они генерируются автором.
Итак. Реализована интеграция для двух сервисов, где этот подход особенно актуален:
"Яндекс.Вебмастер" (раздел "Представление в поиске" -> "Свежее и актуальное").
Здесь rss-фид поможет быстро индексировать ваши новостные, событийные и прочие материалы. Когда-то в поиске Яндекса была отдельная лента новостей (которую продали Дзену), где материалы могли появиться в течение пары минут после публикации на сайте, теперь же они в результатах общего поиска, но с временной плашкой, типа "10 минут назад".
"Дзен". Чтобы подключить фид в Дзене переходим в Студию. А дальше "Настройки" -> "Свой сайт".
Подключение кросспостинга с сайта дает возможность автоматически делиться вашими статьями с одной из самых массовых российских платформ для блоггинга и новостей. Ежедневная аудитория Дзена более трех десятков миллионов человек и пренебрегать такой аудиторией было бы ошибочно.
Здесь свои правила, но попадание "в тему" позволит не просто получить трафик, а получить хороший бонус в виде узнаваемости бренда.