new NayaVu();

Переписал сайт с WP на Hugo. Статические страницы рулят :)

Блокируем спам-ботов на apache httpd

Однажды на одном из сайтов обнаружилась вредоносная активность ботов. Группа организованых китайских виртуальных товарищей слала огромное количество POST /forum/index.php/trackback запросов, приводя сервер в крайнее замешательство и нежелание работать. Что было в теле запроса остаётся загадкой, но, думаю, это и не важно, т.к. активность ботов была похожа на простой ddos. Т.к. блокировать каждый новый ip — а в Китае их много — не предоставлялось возможным, подсетей также было много, а весь китайский сегмент забанить рука не подымалась, было придумано простенькое решение по автоматической блокировке при получении запроса на определённые URL.
Read more

Git: творческое переписывание истории

Пришлось на днях вытащить из одного большого git репозитория (~22k коммитов) несколько файлов и прилепить их к другому репозиторию с сохранением истории. Использовал несколько типов фильтров (git filter-branch), ниже — небольшая инструкция, как это делалось. Допустим, у нас есть проект proj, из которого необходимо добыть libraries/src/main/java/vu/ya/Class1.java , libraries/src/main/java/vu/ya/Class2.java и libraries/test/main/java/vu/ya/Class1Test.java и переместить эти файлы в новый репозиторий с сохранением всех коммитов, который к ним относятся. В директории libraries/src/main/java/vu/ya есть множество других файлов и директорий которые, соответственно, нам ненужны.
Read more

Exim4 для отладки приложений

Случилось мне отлаживать PHP-приложение, активно отправляющее письма через sendmail. Собственно, для отладки отправлять письма непосредственным получателям не нужно, необходимо лишь видеть, что именно и как отправляется. В общем, было бы неплохо перенаправлять отправляемые письма в какой-то в файл. В качестве MTA у меня exim4, о его конфигурации и пойдёт речь. Вкратце, в конфигурации exim есть транспорт, отвечающий за то, как доставлять письмо получателю (записывать в локальный файл, отправлять через smtp и т.
Read more

MODx Revo FormIt + no captcha reCAPTCHA

Hallo, die Welt. Так уж сложилось, что это будет первая информативная страница на данном ресурсе, и речь в ней пойдёт об использовании нового reCAPTCHA API в системе управления контентом MODx. Йа не робот! С недавних пор Google ввел в строй новую версию reCAPTCHA, благодаря которой в большинстве случаев пользователю не потребуется вводить нечитаемые слова для подтверждения своего биологического происхождения: достаточно лишь клацнуть мышкой на кнопку. К сожалению, на данныый момент компонент MODx для обработки форм — FormIt — ещё не умеет работать с reCAPTCHA2, что, впрочем, не мешает с помощью небольшого напильника научить его работать…
Read more