Защита зараженного сайта: автоматическая сборка черного списка IP-адресов из логов Nginx

  4 Фев, 2026

Представьте ситуацию: ваш сайт подвергся атаке. В корне и других папках появились подозрительные PHP-файлы, которых там быть не должно. Вы их удаляете, но через некоторое время они возникают снова. Очевидно, злоумышленники нашли и используют неизвестную вам уязвимость (дыру) — возможно, в одном из плагинов CMS или стороннем компоненте.

Читать далее »

Ошибка формирования чека в best2pay для WooCommerce при использовании купонов — разбор и решение

  29 Янв, 2026

В одном из проектов столкнулся с проблемой формирования фискального чека в модуле оплаты best2pay для WooCommerce. Ошибка проявлялась не всегда, а только при использовании промокодов и нескольких товаров в корзине. Формально платеж проходил, но строки в чеке формировались некорректно: вместо скидки появлялась строка с «авансовым платежом».

Читать далее »

Тилоре Малорен — сражение против одного из высших вампиров в RFAD

  17 Янв, 2026

Продолжаю 100500-е прохождение Skyrim в этот раз под соусом RFAD SE 6.1.

Читать далее »

Использование модального диалога в Drupal

  13 Янв, 2026

В комплекте Drupal включает в себя jquery dialog, который можно подключить и использовать для ваших целей на фронт-енд. Эта статья о том, как это быстро сделать и начать собственно использовать в своей теме оформления.

Читать далее »

Добавляем кнопку регистрации на форму авторизации

  23 Дек, 2025

В этой статье мы рассмотрим, как добавить кнопку «Register» в форму авторизации в Drupal, которая будет перенаправлять пользователя на страницу регистрации. Мы добавим кнопку в раздел actions формы и используем правильный подход для создания ссылки через маршруты с помощью сервиса маршрутизации.

Читать далее »

Preprocess Media Устарел В Drupal 11.3

  15 Дек, 2025

В Drupal 11.3 произошла важная, но не сразу заметная смена подхода к theming‑слою: классические процедурные preprocess‑функции вида template_preprocess_* были помечены как устаревшие. Это касается и template_preprocess_media(), который многие годы использовался для подготовки переменных в шаблоне media.html.twig.

Читать далее »

Подстановка текущего года в любом Twig-шаблоне

  9 Дек, 2025

В шаблонах Twig нередко возникает задача подставить текущий год. Чаще всего это требуется в футере — например, чтобы автоматически обновлялась строка авторских прав. Делать это вручную каждый январь смысла нет, а стоит воспользоваться встроенными возможностями Twig.

Читать далее »

Как сформировать отдельный хидер или футер для первой страницы в mPDF на примере Drupal

  6 Дек, 2025

Когда вам нужно создать PDF-документ с использованием библиотеки mPDF, бывает необходимо сделать так, чтобы на первой странице отображался отдельный футер (или хидер), отличающийся от остальных страниц. В этом примере мы рассмотрим, как использовать селектор @page :first для задания различных футеров для первой страницы и всех остальных страниц в вашем документе. Этот подход будет полезен не только для проектов на Drupal, но и для любых других случаев, где используется mPDF.

Читать далее »

Небольшой бонус на старте RFAD Skyrim

  29 Ноя, 2025

Опять я соскучился по Skyrim, снова установил свежую версию RFAD 6.2.

На этот раз хочу поделиться небольшим бонусом старта игры — кольцо зодиака, спрятанное на поляне, где вы выбираете знак зодиака.

Читать далее »

Почему бизнес выбирает комплексный подход к ИИ

  27 Ноя, 2025

В последние годы интерес к искусственному интеллекту достиг такого уровня, что «внедрить ИИ» стало звучать почти как бытовой запрос. Но когда дело доходит до практики, компании сталкиваются с очень конкретными и зачастую неприятными вопросами: с чего начинать, какие инструменты выбирать, как интегрировать алгоритмы в текущие процессы, и что делать, если данных много, но они неполные или «грязные».

Читать далее »