Для начала определиться с условиями бана.. )) формализовать.
Так-то, тот же fail2ban можно пользовать.. :D
Зачем?
В смысле, в посте выше ссылка. Она у меня открывается так, как приложено в том же посте.
Если нужны кавычки, можно подглядеть
а) готовый код на https://fontawesome.com/icons/quote-right
<li><i class="fas fa-quote-right"></i> Quote</li>
б) заглянуть в css, чтобы увидеть
.fa, .fas { font-weight: 900; }
Пожалуйтесь кто-нибудь на дубли..
.fa, .fas { font-weight: 900;}
Я бы смотрел в сторону nginx imit req. Осталось определиться с допустимыми правилами..
К примеру, как формализовать условие "запрашивается только странный адрес"? А потом в конфиге это условие и записать..
Если подсети известны - можно что-то вроде такого использовать:
https://stackoverflow.com/questions/49998529/nginx-rate-limiting-count-for-a-whole-subnet-not-just-per-ip
Так из кода сайта.. (ну.. или из sitemap-а) скорее всего, и берёт.
Смотрите, что там у Вас в шаблоне
������ для сохранения emoji "как есть" в БД должна использоваться соответствующая кодировка (например, utf8mb4). С большой вероятностью на сёрче используется "обычная" utf8 (_general_ci)
При попытке вставить MySQL-сервер в зависимости от настроек и вставляемого контента может сохранять "белиберду", выдавать ошибку вроде
или игнорировать (автоматически "обрезая") всё, "неправильное"
Вариант хранения в виде HTML-сущностей должен поддерживаться на уровне движка (чтоб корректно обрабатывались последовательности вида ***128526; ) ---------- Добавлено 07.04.2020 в 18:53 ----------
Ну, как-то так 😂 🍻
А ещё и чтоб для каждой рубрики отдельно свой, да? =)
С большой вероятностью MySQL сам подберёт нужный индекс, если он существует.
(есть ли индекс t1.mk_code?
В указанном запросе в первом JOIN-е уже задействовано поле из этой таблицы
t1.section_id и если t1.mk_code индекс по одному полю mk_code, то в данном случае он не применим.