Pull to refresh
12
Евгений@northmule

Разработчик

3
Subscribers
Send message
Отвечу на некоторые из Ваших вопросов, они особо актуальны и думаю при ответе на них частично отвечу на другие:
Числятся ли эти айпишники в спам-базах

Да, с этих IP приходит спам в комментарии к постам, об этом так же сообщает сервис Akismet.
Вместе с последней картинкой просто просится график посещаемости сайта :)

Суммарно он не изменился, по данным Яндекс Метрики
Ну я не очень то понял, почему конкретно тормозит база

Тормозит совсем не база, а у хостинга есть абстрактная величина «CP» — которая имеет разумные рамки и при превышении рамок сообщает «Эй, клиент, у тебя превышен отведённый тебе лимит нагрузки на центральный процессор, сделай что нибудь, а то мы выключим сайт». Да, конечно нужно уменьшить количество запросов к БД генерируемых 1-й страницей сайта, но требовалось именно потушить пожар (снизить нагрузку, что бы не получить санкции). Пожар потушен, можно проводить анализ.
Как вы поняли что это боты?

  • По заголовкам браузера
  • По запросам POST и GET. Например бот «прозванивает» роуты сайта на наличие тех или иных плагинов которые видимо имеют уязвимость(но этих плагинов у меня нет)
впс — это свобода, но в процентном отношении это на 50% дороже того что используется сейчас (т.е экономически получится не обоснованно), но при этом ещё возможны варианты оптимизации что бы удержаться в рамках тарифа.

В качестве мидлвар можно сделать связку с redis или memcached, но это уже другая история и пожалуй другая статья, хотя и возможна на приведённом в статье хостинг провайдере.
Приведите пожалуйста ваш пример, руководствуясь теми же ограничениями что обозначены в статье.

Я не утверждаю что опубликованное мной решение — хорошее, это всего лишь вариант.
Благодарю, отличный вариант!
Я честно говоря, ваш тонкий юмор не уловил
Сайт сам по себе, я бы сказал, достаточно быстрый, возможно не оптимален с точки зрения большого количества запросов к бд. Но видимо то что этот сайт достаточно старый его пытаются парсить все кому не лень или он по историческим просчётам попал в какие либо базы агрегаторов контента.
Сам сайт носит СМИ направленность для провинциального города.
У nginx в этом плане много гибкости. На сайте одного крупного вендора продуктов здорового питания используется блокировка от атак именно на на основе nginx. Достаточно быстрое решение, но в случае крупного вендора — свой сервер.
С парсингом лог файла, тоже отличная идея. Но у хостеров это подключаемая опция, т.е ведение лога начинается после активации этой опции.
Ну и запись в БД «живых запросов» мне показалась более быстрой с точки зрения реализации
Для крупных порталов, да — это возможно. Но в статье я рассматривал небольшой ресурс провинциального масштаба.
Так же всегда есть возможность самостоятельно проверить IP (кто, от куда) и скорректировать правило.
Или пойти дальше и блокировать таких «ботов» на определённое время
Ещё извращённей вариант, это показывать заглушку до основного роута cms с предложеним ввести капчу :)
Так как «пишу» и «писал» ранее много парсеров, то в своей работе использовал и simplehtmdom, затем по каким-то причинам перешёл на phpQuery (перешёл наверное из за того что сначала просто попробовал, а потом заметил кратное увеличение скорости работы парсреа) и она мне понравилась больше (она это библиотека). Совсем недавно попробовал для парсинга DomCrawler от Symfony и мне она по удобству показалась такой же как phpQuery. Даже сказал бы так что «phpQuery»==«DomCrawler» для разбора страниц.
PS: Про удобство DomCrawler конечно же имею ввиду вкупе с css-selector пакетом
Отличное изложение материала! Однозначно полезно для новичков и профессионалов!
Вообще отличная идея писать подобный код:
1. Для саморазвития и мотивации
2. Для получения замечаний от неравнодушных
3. Думаю даже получится заработать на что-то

Статья понравилась, бросилось в глаза только наименование функций
Автор молодец. Сам бы продал свои проекты для WP, которые сейчас имеют хорошую популярность, но поддерживать их уже нет времени.
Кстати некоторые пользователи неожиданно спрашивают кошелёк и перечисляются туда ну совсем не неожиданные деньги.
Автор молодец! Для данной ситуации и при текущем наборе инструментов я бы поступил так же!

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity

Specialization

Бэкенд разработчик
Средний
PHP
Zend Framework
Doctrine2
Docker
WordPress
CMS «1С-Битрикс»
Git
RabbitMQ
MySQL