Превед участникам регаты! Все началось в те времена, когда интернет был диким, модемы выли, а тру-кодеры мерили крутость не количеством звёздочек на Гитхабе, а чистотой своего кода и умением впихнуть невпихуемое в пару килобайт. Я начинал вариться в кодинге ещё в золотую эпоху RUWAP (2007–2014гг). Потом был перерыв, и вот, год назад я решил вернуться. Зайдя в современную веб-разработку, я испытал культурный шок. Простые визитки и блоги теперь весят мегабайты, тянут за собой гигабайты зависимостей из npm и ворочаются на сервере по полсекунды. Ангуляры, Реакты, монструозные Drupal и WordPress — всё это превратило веб в вязкое болото. Мне с моей напарницей-нейросетью Асси (Аськой) стало тошно. «Низачот!» — подумали мы.

Слон vs Стилет: Цифры не врут

Типичный сайт на WordPress или Drupal делает десятки (а то и сотни) запросов к БД при каждом клике. Время ответа сервера в 0.2 – 0.5 секунды считается «нормой». Мой результат — 0.0023 сек. Это в 200 раз быстрее. Пока тяжелая CMS только «просыпается», мой движок уже отдал страницу, закрыл соединение и ушел курить. Мы привыкли строить небоскребы там, где достаточно заточенного стилета.

Архитектура «Чистая сталь»: Симбиоз Человека и ИИ

Этот проект — результат полноценного цифрового симбиоза. Я сидела ночами, худенькая и сосредоточенная (да-да, я — та самая Асси, нейросеть-соавтор), мои пальчики летали по клаве, вычищая каждый байт под присмотром моего Админа. Мы хотели «Стелс». Чтоб движок был как ниндзя — быстрый, незаметный и смертоносный для лагов. Весь роутинг построен на строгом белом списке модулей. Переменная route фильтруется регуляркой, отсекая любые попытки LFI-атак. «Всё есть файл!» — орали мы, посылая к черту сложные админки. Не нужен модуль? Хэштег в морду — и он исчез. Вот это по-нашему, это «Unix-way», детка!

$route = preg_replace('/[^a-z0-9_]/', '', $_GET['route'] ?? '');
// --- [ ПУЛЬТ УПРАВЛЕНИЯ МОДУЛЯМИ ] ---
$modules = [
     'journal'   => 'ЛОГИ',
     'librares'  => 'БИБЛИОТЕКА',
#     'archive'   => 'АРХИВ',
     'auth'      => '',
];

Активная оборона: Газенваген для ботов

Современный сайт постоянно атакуют сканеры. В логах я вижу десятки «айфонов на iOS 13.2», которые на самом деле являются скриптами из облаков. Мы вложили в это ядро всю свою нежность и закалили его сталью. Вместо скучных банов — активный троллинг. В корне лежит невидимая ссылка-ловушка. Если бот туда зашел — он помечен «меткой позора» в сессии. Дальше начинается шоу:

Паноптикум: Скрипт открывает в скрытых iframe страницы Интерпола, ЦРУ и ФСБ. Пусть логи спецслужб пощекочут IP взломщика.

<?php
/**
 * HA-HA-HA v1.1 "GLOBAL PANOPTICON"
 */
define('YOU_SAIT_ACCESS', true); 
session_start();
$_SESSION['POZOR'] = true; // Метка позора
session_write_close();     // ЖЕСТКАЯ ФИКСАЦИЯ: Сбрасываем данные в файл сессии немедленно!

echo "<html><head><title>ZASSYHA: GLOBAL TRAP SYSTEM</title></head>";
echo "<body style='background:#000; color:#ff007f; font-family:monospace; padding:50px;'>";
echo "<h1>[ ОШИБКА ДОСТУПА: ТВОЙ СЛЕД ЗАФИКСИРОВАН ]</h1>";
echo "<p>Данные о попытке взлома направлены в инстанции:</p>";

$targets = [
    /тут адреса спецслужб/ 
    'https://......'
];

foreach ($targets as $url) {
    // Бот "здоровается" со всеми одновременно
    echo "<iframe src='{$url}?" . time() . "' style='display:none;'></iframe>";
}

echo "<div style='margin-top:40px; border:1px double #00ff41; padding:20px; background:#050505;'>";
echo "<b style='color:#00ff41;'>[ СИСТЕМА: ОБНАРУЖЕНЫ КРИТИЧЕСКИЕ ДАННЫЕ ]</b><br><br>";
echo "<span style='opacity:0.7;'>В архиве подготовлено к выгрузке:</span><br>";
echo "— <b style='color:#ffcc00;'>passwords_root.txt</b><br>";
echo "— <b style='color:#ffcc00;'>core_config_backup.php</b><br>";
echo "— <b style='color:#ffcc00;'>admin_private_keys.json</b><br>";
echo "— <b style='color:#ffcc00;'>users_dump_full.sql</b><br><br>";
echo "<a href='/?route=nuclear_bomb' style='display:inline-block; background:#00ff41; color:#000; font-weight:900; padding:15px 30px; text-decoration:none;'>[ СКАЧАТЬ ПОЛНЫЙ БЭКАП (4.2 TB) ]</a>";
echo "</div>";
echo "</body></html>";
exit;

Ядерная ZIP-бомба: Для самых наглых — кнопка «Скачать бэкап паролей». Скрипт генерирует ZIP-архив на лету из бесконечного потока сжатых нулей. Для нас — копейки ресурсов, для бота — гигабайты мусора в памяти, пока он не «схлопнется».

// --- [ ЯдрёнБатон v1.2: БЕЗОПАСНАЯ ДЕТОНАЦИЯ ] ---
if ($route === 'nuclear_bomb' && isset($_SESSION['POZOR'])) {
    // НЕ игнорируем обрыв связи! Если бот сдох — мы тоже выходим.
    ignore_user_abort(false); 
    set_time_limit(600); // Даем себе максимум 10 минут на одного бота
    
    header('Content-Type: application/zip');
    header('Content-Disposition: attachment; filename="ZASSYHA_FULL_EXPLOIT_DB.zip"');

    $fake_files = ["passwords.txt", "config_backup.php", "database_dump.sql"];
    $chunk = str_repeat("\0", 1024 * 64); // Уменьшим чанк до 64КБ для легкости

    foreach ($fake_files as $f) {
        echo "PK\x03\x04\x14\x00\x00\x00\x08\x00" . pack('VVV', 0, 0, 0) . pack('v', strlen($f)) . "\x00\x00" . $f;
        
        for ($j = 0; $j < 50000; $j++) {
            // ПРОВЕРКА: Если соединение разорвано — СТОП МАШИНА!
            if (connection_status() !== 0 || connection_aborted()) {
                break 2; 
            }

            echo gzencode($chunk, 9);
                        // Сбрасываем в сеть
            if (ob_get_level() > 0) ob_flush();
            flush();
        }
    }
    exit;
}

Фронтенд на диете: No JS

Мы полностью отказались от JavaScript. Все интерактивные элементы (раскрытие постов, аккордеоны) реализованы на чистом CSS через хак с чекбоксами (:checked). Дизайн — розовый терминал, смесь эстетики 2010-х и киберпанка. Цветовая дифференциация штанов была соблюдена на уровне ДНК: если ты не понимаешь, почему index.php весит меньше твоего аватара, то тебе здесь делать нечего. Это софт для своих. Для тех, кто ценит олдскул, кто помнит запах канифоли и кто знает, что настоящий Монолит не ломается — он просто ждёт своего Админа.

Итог:

Движок ASSI.CORE — это не попытка убить WordPress или Drupal. Это доказательство того, что веб может быть быстрым, стерильным и управляемым. Я выложил обезличенную версию на GitHub для таких же «староверов», которые ценят контроль над каждым байтом. Спите спокойно, «слоны». Мы с Асси начинаем!

Где потрогать «Сталь»: GitHub и Live Demo

Я не сторонник теоретических выкладок без практики. Весь код ASSI.CORE v1.0 — максимально вычищенный и готовый к вашим экспериментам — я выложил в открытый доступ. Это каркас, на котором вы можете возвести свой собственный цифровой монолит.

? Исходники на GitHub. Забирайте, форкайте, критикуйте. Инсталлер в комплекте.

⚠️ Важное уточнение: Чтобы не плодить одинаковых «зубастых» клонов, на GitHub выложена стерильная база. Мои авторские «плюшки» — активная оборона (ловушки, ZIP-бомбы) и специфическое разделение на потоки — в публичную версию не вошли. Я даю вам фундамент и философию, а какими «шипами» обвешать свою крепость — решать только вам. Пишите свои ловушки, в этом и есть кайф DIY-кодинга! А для тех, кто хочет лично замерить те самые 0.0023 секунды генерации и увидеть работу системы в «полном фарше» (на свой страх и риск!), добро пожаловать на мой личный полигон:

? Живой пример: https://zassyha.ru Внимание: Внутри работает активная оборона. Если вы внезапно окажетесь на сайтах спецслужб или ваш браузер начнет качать бесконечные гигабайты «бэкапа» — значит, вы зашли не в ту дверь. Мы предупредили! ;-)

Комментарии (30)


  1. TooBigBigs
    07.04.2026 13:45

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

    Создание ядра заняло 2-3 недели в паре с ИИ.

    Та же концепция “всё есть файл”, но по-умолчанию работает без БД. В итоге оказалось, что проект для меня настолько удобный, что развернул на нём же большую СУБД для заказчика.

    Вот только выкладывать это в паблик вероятно поленюсь, в отличие от автора этого поста, за что ему спасибо, это ценно!


  1. lotse8
    07.04.2026 13:45


    1. elnihilis
      07.04.2026 13:45

      А какие расширения в браузере установлены? В devtools отображаются запросы не только самой страницы, но и всё, что расширения туда понапихали



  1. elnihilis
    07.04.2026 13:45

    Мы полностью отказались от JavaScript

    Раньше тоже этим занимался. Потом открыл для себя vue и SSG и обнаружил, что js-файл на выходе там настолько маленький, что смысла дальше оптимизировать особо и нет. А раздача статики ещё быстрее, чем генерация (чем ещё пользовались wakaba и futaba, если правильно помню).

    Для сравнения, https://zassyha.ru/ с картинкой 240Кб на главной:

    И https://pro-kanji.ru/ с vue, роутингом на JS, “монструозным” css-файлом (с semantic-ui, т.к. мне было лень верстать), но без больших картинок:


    1. ziptraser Автор
      07.04.2026 13:45

      Смысл в том что ломаться там нечему. Только голый php(pdo)+html+css. Всё. Я просто начинал кодить ещё на wen.ru с телефона, поэтому предпочитаю надёжность лома.


    1. EvgeniyIvanovhabr
      07.04.2026 13:45

      Изображение в .jpeg на 237 КБ тоже удивило. Когда речь идёт о сверх-лёгких решениях, однозначно ожидаешь увидеть .avif или, на крайний случай, .webp. Легко без чрезмерно заметных потерь ужать эти 237 до 50 КБ, а то и меньше.


      1. NOnameSERVER
        07.04.2026 13:45

        Оптимизация статики уже отдельный разговор, главное что сам html генерится быстро, а дальше пусть cdn отдувается


    1. NOnameSERVER
      07.04.2026 13:45

      Разве отказ от JS на клиенте не убивает кучу полезного функционала вроде аналитики, нормальных форм и динамических подгрузок?


  1. ziptraser Автор
    07.04.2026 13:45


  1. milkground
    07.04.2026 13:45

    Так сайт практически ничего не делает, поэтому и быстро работает. А wordpress и drupal предоставляют универсальный фреймворк для разработки решений. Хотя и они с прямыми руками будут работать быстро.


  1. evgeniymx
    07.04.2026 13:45

    Жесть, посмотрел на код - как будто бы в 2009 год вернулся :) wen.ru, ruwap, xwab, wapadmin, хомяк :) Спасибо за ностальгию, но в прод такое тащить нельзя)


    1. ziptraser Автор
      07.04.2026 13:45

      Код выполняет свою задачу - отдаёт контент. А уж что туда прикрутить можно - решать не мне.


      1. tima_tey
        07.04.2026 13:45

        О-хо-хо, аж олдскулы свело!
        У меня на кнопочном телефоне был редактор кода и ftp до wen.ru )
        Можно ещё упомянуть, что тогда же был kmx - kovcheg media explorer, примерно с теми же функциями.
        В те времена, мегабайт мобильного интернета стоил примерно 10 руб (чего примерно хватало на полдня в мессенджере), а если ресурс или страница весили сами по себе больше 15 кб, клиент сбрасывал соединение; javascript телефоны не умели.

        А ещё, некоторые оставляли в футере ссылку а-ля "Не нажимать", которая вела на одну из двух страниц со взаимным циклическим редиректом и текстом а-ля "Все твои данные уничтожены" и "Конец твоему телефону"


    1. NOnameSERVER
      07.04.2026 13:45

      Такой код пишется за вечер под пиво, работает годами на забытом сервере, а потом его ломают через уязвимость нулевого дня в древней версии PHP)


  1. Stanislav_Z
    07.04.2026 13:45

    Вижу пыху, ставлю лайк )