Как мой сайт считает ботов, не храня ни одного IP: чистый PHP без базы, строгая CSP и 160 тестов
В прошлой статье я рассказывал про SSH-ловушку на своём сервере. В комментариях несколько раз спросили: а что за сайт, на котором всё это показывается, и почему он так устроен. Отвечаю. Это не обзор разделов, а история решений: что выбрал, во что это обошлось и где ошибся. А самый частый вопрос — как сайт понимает, что пришёл один и тот же бот, если не хранит адресов, — получил отдельный раздел. Немного цифр для масштаба. Первый коммит — 25 октября 2026, сейчас в репозитории 243 коммита и около 22 тысяч строк PHP, JS и CSS, плюс 5 тысяч строк серверных скриптов на Bash и Python. Зависимостей ноль: ни Composer, ни npm, ни CDN. Сайт делает ровно ноль запросов к чужим доменам — шрифты лежат рядом. Читать далее