Подготовлены новые страницы и приватный канал замечаний. Сайт не изменён, учётные данные не использованы, сообщения не отправлены. Редакционные отзывы не получены. В изолированной локальной среде PHP 8.3.6 выполнена проверка синтаксиса обработчика, очистки и образца конфигурации; девять методов интеграционного тестирования прошли. Проверки действующего хостинга и развёртывание не выполнены.
Наблюдаемые маршруты
Архив site_reference/beforeword_28.09.zip содержит корень +-5/. Главная RU — /, главная EN — /en/. Раздел исследований RU — /research/, EN — /research/en/. Английские версии работ находятся по схеме /research/<работа>/en/. В архиве нет PHP-файлов. Наличие PHP на действующем хостинге этим не установлено.
Новые маршруты следуют найденной схеме:
/research/words-and-imprisonment/— русский публичный вход./research/words-and-imprisonment/en/— самостоятельный английский вход./research/words-and-imprisonment/files/— окончательный исследовательский пакет./research/words-and-imprisonment/review/?lang=ruи?lang=en— приём замечания.
Патч включает только новый каталог работы. Он не содержит копий старых главных страниц, /research/index.html, /research/en/index.html, глобального .htaccess или прежних работ. Новую ссылку в существующий раздел следует добавить к текущему файлу после просмотра, а не заменять его архивной копией.
Что входит в собственную часть патча
public_html/ содержит RU/EN вход, локальный стиль, PHP-форму, каталог скачиваемых TXT-форм и правила доступа только нового каталога. private/ содержит образец конфигурации и очистку для командной строки. tests/ содержит проверки локального PHP-сервера. В папку files/ основная ветка добавляет окончательные статьи и приложения; входные ссылки рассчитаны на их нынешние имена.
JSON замечания сохраняется с непредсказуемым номером и статусом received-unreviewed, без полей имени, почты или исходного IP. Произвольный текст может содержать личные сведения, если их внесёт отправитель; публичная форма просит их не добавлять. Сервер не скачивает содержимое по ссылке из замечания. Веб-интерфейса просмотра и поиска замечаний нет.
Размещение в cPanel
- В файловом менеджере установить текущий корень домена. До загрузки проверить, что новый каталог
/research/words-and-imprisonment/отсутствует либо принадлежит именно этой подготовке. При обнаружении другого содержания сначала сохранить его и сопоставить; патч не предназначен для его слепой замены. - Загрузить содержимое
public_html/research/words-and-imprisonment/в соответствующий новый каталог корня домена. Приложить финальные файлы исследования вfiles/. Образец конфигурации и очистку не помещать в публичный корень. - В родительском каталоге корня домена создать
beforeword-feedback-dataс правами 0700. Учетная запись исполнения PHP должна иметь доступ к нему. Для стандартного корня вида/home/<аккаунт>/public_htmlэто/home/<аккаунт>/beforeword-feedback-data; имя аккаунта здесь не задано. - В том же родительском каталоге сохранить
beforeword-feedback-config.php, используя образец изprivate/. Указать существующий абсолютный путь хранилища. Файл оставить с правами 0600. Подкаталогиnotes,rate,sessionsсоздаются обработчиком с правами 0700; заметки и ключ имеют права 0600. - Проверить, что хостинг исполняет PHP, а не отдаёт исходный код. Требуется среда с поддержкой используемых функций сессий, JSON, random_bytes и блокировок доступа к файлам. До проверки не включать канал. Конфигурация по умолчанию содержит
enabled => false. - Выполнить проверки обработчика в отдельной PHP-среде и на размещённом маршруте. Затем выставить
enabled => true. Проверить реальную отправку, номер получения и JSON вне публичного корня; проверить запрет выдачи записи по URL. Тестовое замечание отметить тестовым и удалить после проверки. - Разместить
cleanup.phpвне публичного корня рядом с конфигурацией и настроить ежедневный cron с фактическим путём PHP, предоставленным хостингом. Путь исполняемого файла здесь не придуман. Результат очистки проверить на искусственном просроченном тестовом файле, не на пользовательском замечании. Публичный текст честно описывает задержку удаления без обращений и плановой очистки. - Сверить новый RU/EN вход, скачивание статей, все ссылки на прежние работы и обратные переходы. Добавить короткие ссылки в просмотренные актуальные главные/исследовательские страницы. Если применяется кэш LiteSpeed, обновить относящийся к новым страницам кэш после размещения.
Внешние действия этим списком не объявляются выполненными. Нет общей загрузки в работающий сайт или передачи замечаний внешним лицам.
Проверки
Локальный повторный запуск с доступным PHP: python tests/test_feedback.py. Программа явно возвращает код 77, если PHP отсутствует. Она проверяет сохранение и номер получения; обязательный CSRF и запрет повтора; ловушку бота; лимиты; экранирование попытки XSS; отсутствие публичного доступа к JSON; предел частоты; отклонение управляющих символов/неподходящей ссылки; недоступное и публичное хранилище; резервный текстовый шаблон; удаление просроченной тестовой записи. Проверки создают только временные тестовые каталоги.
30 сентября 2026 года в изолированной среде PHP 8.3.6 проверка синтаксиса трёх PHP-файлов прошла; девять методов тестирования обработчика прошли. Среда исполнения получена загрузкой дистрибутивных пакетов во временный рабочий каталог и распакована без системной установки; контрольные суммы сопоставлены с метаданными. Локальный успех не устанавливает исполнение PHP, права хранения, HTTPS или приём на cPanel. Эти проверки остаются обязательными до выпуска. Самостоятельная языковая и юридическая оценка отделена от тестирования формы.
Редакционная обработка
Хранилище читается через cPanel после входа владельца аккаунта. Публичного admin-маршрута нет. Полный порядок и вопросы внешним специалистам находятся в review_workflow_RU.md и review_workflow_EN.md. Начальный реестр фактически полученных внешних отзывов пуст.
Получение, человеческое рассмотрение, принятие поправки и публичное изменение — отдельные состояния. После решения сохраняются исходный фрагмент, замечание, ответ, новая запись, влияние на RU/EN и остаток. Публикация содержания приватного замечания требует отдельного решения и основания; форма не публикует его автоматически.
Публичная цель остаётся прекращением лишения свободы за слова, включая поддержанную квалификацию. Работающий канал позволяет предъявить предметное возражение; он не создаёт прецедент или мировой отклик своим появлением.