Ситуация знакома многим администраторам: при создании резервной копии в облаке «1С-Битрикс» вы установили пароль шифрования для защиты данных, а когда потребовалось восстановиться из бэкапа, пароль оказался забытым. К счастью, в большинстве случаев его можно восстановить, если у вас есть доступ к сайту или серверу. Рассмотрим три способа получить сохранённый пароль.
Что нужно знать перед началом
При создании резервной копии Битрикс временно сохраняет введённый пароль в специальном хранилище CPasswordStorage с ключом dump_temporary_cache. Именно оттуда мы попробуем его извлечь. Способы отличаются только тем, как именно выполнить код для чтения этого хранилища.
Способ 1: через административную панель (если есть доступ к админке)
Самый простой вариант — выполнить PHP-код прямо в админке, используя консоль или редактор.
- Войдите в административную часть сайта.
- Перейдите в раздел «Рабочий стол» → «Консоль PHP» (если он включён) или создайте временный PHP-файл через файловый менеджер (см. способ 2). Если модуль «Консоль PHP» не установлен, можно использовать любой редактор кода в админке, позволяющий выполнить PHP.
- Вставьте следующий код и выполните его:
<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/backup.php");
var_dump(CPasswordStorage::Get('dump_temporary_cache'));
?>
На экране отобразится значение пароля. Скопируйте его и используйте для расшифровки бэкапа.
Способ 2: через FTP (загрузка скрипта и запуск через браузер)
Если доступа к админке нет, но вы можете загружать файлы по FTP, создайте простой PHP-скрипт.
- Создайте в любом текстовом редакторе файл, например
get_pass.php, со следующим содержимым:
<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/backup.php");
var_dump(CPasswordStorage::Get('dump_temporary_cache'));
?>
- Загрузите этот файл по FTP в корневую директорию вашего сайта (обычно
/home/bitrix/www/ или /public_html/).
- Откройте в браузере адрес
вашсайт.ru/get_pass.php.
- На странице вы увидите результат работы скрипта — забытый пароль.
- Важно! Сразу после получения пароля удалите файл
get_pass.php с сервера, чтобы исключить возможность его использования злоумышленниками.
Способ 3: через FTP и консоль сервера (если нет доступа к веб-запросу)
Иногда доступ к сайту через браузер невозможен (например, сайт полностью неработоспособен). В этом случае можно запустить скрипт напрямую из командной строки сервера.
- Создайте на своём компьютере файл
getpass.php с таким содержимым:
<?php
$_SERVER["DOCUMENT_ROOT"] = realpath(dirname(__FILE__)."/../..");
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS",true);
define('BX_NO_ACCELERATOR_RESET', true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/backup.php");
var_dump(CPasswordStorage::Get('dump_temporary_cache'));
?>
Этот код самостоятельно определяет корневую директорию сайта (поднимаясь на два уровня выше от места расположения скрипта). Убедитесь, что путь правильный: если файл будет лежать в корне сайта, возможно, потребуется скорректировать realpath. Если вы поместите файл в корень, можно упростить, заменив первую строку на $_SERVER["DOCUMENT_ROOT"] = __DIR__;.
- Загрузите файл по FTP в корень сайта (например,
/home/bitrix/ext_www/mysite.www/getpass.php).
- Подключитесь к серверу по SSH (или используйте консоль хостинга).
- Перейдите в каталог с файлом и выполните команду:
/usr/bin/php -f getpass.php
В зависимости от настроек сервера путь к PHP может отличаться (проверьте командой which php). После выполнения в консоли отобразится пароль.
- Не забудьте удалить скрипт с сервера после использования.
Что делать, если пароль не найден?
Если ни один из способов не дал результата (например, хранилище dump_temporary_cache пусто или пароль был задан без сохранения), восстановить его штатными средствами невозможно. В таком случае можно попробовать:
- поискать пароль в файлах сайта (в конфигурациях модуля резервного копирования);
- использовать специализированные утилиты для подбора паролей (brute force), но это крайне долго и не всегда успешно;
- если резервная копия критически важна, обратиться в техническую поддержку «1С-Битрикс» или к разработчикам, возможно, они смогут помочь.
Лучший способ избежать такой ситуации — хранить пароли от бэкапов в надёжном менеджере паролей и записывать их при создании копии.
Заключение
Восстановить забытый пароль от облачной резервной копии Битрикс чаще всего можно, выполнив один из приведённых выше скриптов. Главное — действовать осторожно и сразу удалять временные файлы после получения пароля, чтобы не создавать уязвимостей на сайте.
PHP WEB LINUX
Ситуация знакома многим администраторам: при создании резервной копии в облаке «1С-Битрикс» вы установили пароль шифрования для защиты данных, а когда потребовалось восстановиться из бэкапа, пароль оказался забытым. К счастью, в большинстве случаев его можно восстановить, если у вас есть доступ к сайту или серверу. Рассмотрим три способа получить сохранённый пароль.
Что нужно знать перед началом
При создании резервной копии Битрикс временно сохраняет введённый пароль в специальном хранилище
CPasswordStorageс ключомdump_temporary_cache. Именно оттуда мы попробуем его извлечь. Способы отличаются только тем, как именно выполнить код для чтения этого хранилища.Способ 1: через административную панель (если есть доступ к админке)
Самый простой вариант — выполнить PHP-код прямо в админке, используя консоль или редактор.
На экране отобразится значение пароля. Скопируйте его и используйте для расшифровки бэкапа.
Способ 2: через FTP (загрузка скрипта и запуск через браузер)
Если доступа к админке нет, но вы можете загружать файлы по FTP, создайте простой PHP-скрипт.
get_pass.php, со следующим содержимым:/home/bitrix/www/или/public_html/).вашсайт.ru/get_pass.php.get_pass.phpс сервера, чтобы исключить возможность его использования злоумышленниками.Способ 3: через FTP и консоль сервера (если нет доступа к веб-запросу)
Иногда доступ к сайту через браузер невозможен (например, сайт полностью неработоспособен). В этом случае можно запустить скрипт напрямую из командной строки сервера.
getpass.phpс таким содержимым:Этот код самостоятельно определяет корневую директорию сайта (поднимаясь на два уровня выше от места расположения скрипта). Убедитесь, что путь правильный: если файл будет лежать в корне сайта, возможно, потребуется скорректировать
realpath. Если вы поместите файл в корень, можно упростить, заменив первую строку на$_SERVER["DOCUMENT_ROOT"] = __DIR__;./home/bitrix/ext_www/mysite.www/getpass.php).В зависимости от настроек сервера путь к PHP может отличаться (проверьте командой
which php). После выполнения в консоли отобразится пароль.Что делать, если пароль не найден?
Если ни один из способов не дал результата (например, хранилище
dump_temporary_cacheпусто или пароль был задан без сохранения), восстановить его штатными средствами невозможно. В таком случае можно попробовать:Лучший способ избежать такой ситуации — хранить пароли от бэкапов в надёжном менеджере паролей и записывать их при создании копии.
Заключение
Восстановить забытый пароль от облачной резервной копии Битрикс чаще всего можно, выполнив один из приведённых выше скриптов. Главное — действовать осторожно и сразу удалять временные файлы после получения пароля, чтобы не создавать уязвимостей на сайте.
PHP WEB LINUX