feat(admin): remember login for 90 days and support REG SSH limits
deploy-preland / deploy zoomstage.online (push) Successful in 57s
deploy-preland / deploy zoomstage.online (push) Successful in 57s
This commit is contained in:
1 parent
d04b40519e
commit
522aaf8554
13 files changed
+316
-27
No files matched your search
@@ -5,6 +5,9 @@
|
||||
проверяется по контракту CPanel и доставляется на выбранные хостинги. Изменение контента
|
||||
не требует Git/push/deploy; `admin/` не входит в публичную поставку прелендингов.
|
||||
|
||||
Редактирование реквизитов отключено по поручению владельца: `requisites` видны
|
||||
в сводке, но не создают полей редактора и не входят в «Выбрать все поля».
|
||||
|
||||
Спецификация и план — `docs/superpowers/{specs,plans}/2026-10-25-preland22-*` в репозитории,
|
||||
копии и фактический статус — в базе знаний, основной реестр — preland#22.
|
||||
|
||||
@@ -48,12 +51,25 @@ PHP-сессии хранятся в `state/sessions` с режимом0700, ф
|
||||
При первом переходе со старого ephemeral backing существующие session-файлы
|
||||
нужно перенести приватно до пересоздания; сам код не мигрирует старый `/tmp`.
|
||||
|
||||
Необязательная галочка «Запомнить меня на 90 дней» создаёт persistent cookie
|
||||
`preland_admin` с HttpOnly/Secure/SameSite=Strict. Срок фиксируется при входе,
|
||||
чтения его не продлевают. Данные такого входа лежат отдельно в
|
||||
`state/remember-sessions`0700, файлы0600. Без галочки остаются session-only cookie
|
||||
и прежний час бездействия. Анонимные обращения не создают долгоживущих файлов.
|
||||
«Выйти» удаляет серверный сеанс и cookie немедленно; пароль не сохраняется.
|
||||
|
||||
UID/GID приложения — 997:987. Приложение получает приватный state и ровно два local
|
||||
mount: `/targets/zoompixel.ru`, `/targets/zoomstage.online`. Весь `/srv/preland`, Docker
|
||||
socket, root SSH key и база основного сайта в приложение не передаются. Права публикации
|
||||
на каждом корне проверяются реальным временным файлом/rename при проверке подключения;
|
||||
нельзя включать запись до успешной проверки.
|
||||
|
||||
REG.RU ограничивает размер SSH exec-команды: длинный inline helper разрывал
|
||||
соединение после успешного входа. Доверенный helper передаётся сжатым zlib;
|
||||
финальная команда ограничена7000байт, большие payload идут в закрытый SFTP-inbox.
|
||||
На удалённом PHP требуется `gzinflate`; отсутствие возвращает понятную ошибку.
|
||||
Содержимое inbox удаляется и при нормальном завершении, и резервно при обрыве.
|
||||
|
||||
Два REG.RU-хостинга подключаются SFTP/SSH с их обычными ограниченными учётными записями.
|
||||
Нужны абсолютный корень, host key либо SHA256 fingerprint, пароль или приватный ключ,
|
||||
доступный через stdin CLI `bin/target-import.php`. Секрет хранится 0600 в приватном state,
|
||||
|
||||
Reference in new issue
Block a user