Битрикс компонент изменения пароля
Недавно на одном из форумов, посвященных битриксу, нашел запись, где человек ищет битрикс компонент изменения пароля. Оказалось, простейший компонент отсутствует в системе. Поменять пароль в битрикс можно либо через профиль пользователя (bitrix:main.profile) либо при помощи отправки контрольной строки на емайл, перейдя по ссылке “забыли пароль”. Отдельного компонента изменения пароля в битриксе, к сожалению нету.
Я сделал этот компонент.
Давайте рассмотрим где могут лежать компоненты в битриксе:
- в папке /bitrix/components/bitrix/ лежат стандартные компоненты битрикса
- в папке /bitrix/components/название_компонента/ лежат компоненты, не являющиеся частью стандартной системы
- также нестандартные компоненты могут лежать в папке /local/components/название_компонента/
Перейдем к написанию компонента изменения пароля битикс:
на страничке смены пароля вешаем следующий код:
IncludeComponent( «test:change.pass», «.default» );?>
Разместим компонент в папке /local/components/test/, для этого создадим там необходимую структуру:
Код компонента (файл component.php)
IsAuthorized()) die(); if($_REQUEST['do']=='send')< if($_REQUEST['password']!=$_REQUEST['confirm_password']) $arResult['ERROR'] .= GetMessage('NOT_THE_SAME')."
"; if($_REQUEST['password']=='') $arResult['ERROR'] = GetMessage('PASSWORD_EMPTY')."
"; if($_REQUEST['confirm_password']=='') $arResult['ERROR'] = GetMessage('CONFIRM_PASSWORD_EMPTY')."
"; $arAuthResult = $USER->Login($USER->GetLogin(), $_REQUEST['old_password'], "Y"); if($arAuthResult['TYPE']=='ERROR') $arResult['ERROR'] .= GetMessage('PASSWORD_WRONG')."
"; if($arResult['ERROR']=='')< $ID = intval($USER->GetID()); $salt = randString(8); $checkword = md5(CMain::GetServerUniqID().uniqid()); $_checkword = $salt.md5($salt.$checkword); $strSql = "UPDATE b_user SET ". " CHECKWORD = '".$_checkword."', ". " CHECKWORD_TIME = ".$DB->CurrentTimeFunction().", ". " LID = '".$DB->ForSql($SITE_ID, 2)."', ". " TIMESTAMP_X = TIMESTAMP_X ". "WHERE ". " AND (EXTERNAL_AUTH_ID IS NULL OR EXTERNAL_AUTH_ID='') "; $DB->Query($strSql); if($arResult['ERROR']=='')< $res = $USER->ChangePassword($USER->GetLogin(), $checkword, $_REQUEST['password'], $_REQUEST['confirm_password']); if($res["TYPE"] == "OK") $arResult['SUCCESS'] = 'Y'; else $arResult['ERROR'] = $res['MESSAGE']; > > > $this->IncludeComponentTemplate(); ?>
LANG-файл компонента (change.pass/lang/ru/component.php)
?>
$MESS["OLD_PASSWORD"] = "Введите старый пароль"; $MESS["NEW_PASSWORD"] = "Введите новый пароль"; $MESS["CONFIRM_NEW_PASSWORD"] = "Подтвердите новый пароль"; $MESS["NOT_THE_SAME"] = "Введенные пароли не совпдают"; $MESS["SEND"] = "Сохранить"; $MESS["SUCCESS"] = "Пароль успешно изменён";
Битрикс компонент изменения пароля при помощи метода $USER->Login($USER->GetLogin(), $_REQUEST[‘old_password’], «Y») проверяет старый пароль, если он правильный – то меняет старый на новый, при помощи кода:
$ID = intval($USER->GetID()); $salt = randString(8); $checkword = md5(CMain::GetServerUniqID().uniqid()); $_checkword = $salt.md5($salt.$checkword); $strSql = "UPDATE b_user SET ". " CHECKWORD = '".$_checkword."', ". " CHECKWORD_TIME = ".$DB->CurrentTimeFunction().", ". " LID = '".$DB->ForSql($SITE_ID, 2)."', ". " TIMESTAMP_X = TIMESTAMP_X ". "WHERE ". " AND (EXTERNAL_AUTH_ID IS NULL OR EXTERNAL_AUTH_ID='') "; $DB->Query($strSql); if($arResult['ERROR']=='')< $res = $USER->ChangePassword($USER->GetLogin(), $checkword, $_REQUEST['password'], $_REQUEST['confirm_password']);
Пользуйтесь на здоровье!
Битрикс компонент изменения пароля
- Кастомизация шаблона компонента
- Битрикс компонент обратная связь ajax
- Пагинация google в битриксе
- Соцсети битрикс
Комментарии:
2018.12.12
Дмитрий
Круто, но нет одного важного момента. Если пользователь не помнит пароль.
Оставить комментарий
Форум
изменить пароль администратора в админке сайта в разделе «Список пользователей».
Если Вы запамятовали пароль, то сначала следует создать файл в папке сайта, например, через FTP со следующим содержимым:
Authorize(1); // авторизуем
Зайдя на него через браузер, Вы автоматически авторизуетесь под учетной записью главного админа ( в большинстве случаев учетная запись главного администратора имеет ID равный 1)
Далее сменить пароль, как было описано выше.
P.S> нажмите, пожалуйста, «мне нравится», если мой совет оказался полезен
Заглянувший
Сообщений: 15 Регистрация: 06.05.2015
19.01.2016 21:15:07
Алексей, спасибо за отклик.
Я нашел раздел «Список пользователей», кликнул на admin ID равно 1, вошел в Пользователь регистрационная информация, но там строки новый пароль, подтверждение нового пароля пустые, изменять нечего.
Это значит что остается только вариант через FTP?
В какую конкретно папку сайта надо вставлять файл с кодом. Я так понимаю, что на FTP много папок сайта.
Постоянный посетитель
Сообщений: 149 Баллов: 15 Регистрация: 15.10.2013
19.01.2016 22:20:34
| Цитата |
|---|
| Андрей Жуков написал: Алексей, спасибо за отклик. Я нашел раздел «Список пользователей», кликнул на admin ID равно 1, вошел в Пользователь регистрационная информация, но там строки новый пароль, подтверждение нового пароля пустые, изменять нечего. Это значит что остается только вариант через FTP? В какую конкретно папку сайта надо вставлять файл с кодом. Я так понимаю, что на FTP много папок сайта. |
Нужно просто вбить желаемый пароль в графу «Новый пароль», после чего нажать «Сохранить» и не надо ни какого ФТП доступа
Заглянувший
Сообщений: 1 Регистрация: 05.03.2017
04.05.2017 20:18:09
Сделал,все как написано.
написано:
Ошибка авторизации!Доступ запрещен. Просмотр файла /bitrix/admin/index.php запрещен.
Сообщений: 407 Баллов: 61 Регистрация: 08.10.2014
04.05.2017 22:37:22
Дмитрий Миронов, опишите конкретно, что вы сделали? Суть идеи простая, главное иметь доступ к ftp:
1. Создаете файл с содержимым выше, например, в корне сайте login.php
2. Запускаете его из браузера, например, mysite.ru/login.php
3. Переходите на свой сайт mysite.ru, оказываетесь уже авторизованным под админом
4. В админке меняете пароль у нужного пользователя, сохраняете его
5. Првоеряете в режиме инкогнито, что пароль рабочий
6. Обязательно удаляете файл, созданный на пункте 1.
На каком шаге у вас что-то пошло не так?
Страницы: 1
Центр поддержки
Продукты
Управление сайтом
Битрикс24
Интернет-магазин + CRM
Решения
Для интернет-магазинов
Каталог готовых решений
Внедрение
Выбрать партнера
Проверить партнера
Стать партнером
1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507
© 2001-2023 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности
ИТ поддержка по всей России 24/7
Забыл пароль входа в «Битрикс24». Как его можно поменять?
Здравствуйте! Есть несколько способов поменять пароль в «Битрикс24»:
- При помощи сервиса восстановления пароля;
- При помощи вашего нетворк-профиля;
- Обратится в службу поддержки команды «Битрикс».
Восстанавливаем пароль через сервис восстановления

- Зайдите на сайт «Бистрикс24».
- Выберите «Забыли пароль?» и нажмите на ссылку.
- Введите в соответствующую строку e-mail, указанный при регистрации в системе.
- Нажмите кнопку «Выслать».
- Запустите почтовую программы, откройте письмо, которое вам пришло от службы поддержки «Бистрикс24» и выполните указанные в нем действия.
Это универсальный способ смены пароля, если вы его забыли или потеряли. Но он не сработает в случаях, когда отсутствует доступ к почтовому ящику, указанному при регистрации.
Восстанавливаем пароль в «Бистрикс24» через нетворк-профиль

- Запустите свой нетворк-аккаунт при помощи адреса bitrix24.net.
- Откройте страницу со своим профилем. Для этого в правом верхнем углу выберите иконку с фото и в развернувшемся меню нажмите «Мой профиль».
- В правом верхнем углу появится надпись «Редактировать профиль». Нажмите на ссылку.
- Перед вам появится страница с вашими личными данными, которые вы указывали при регистрации. Под строкой с электронной почтой будет две функции «Сменить e-mail» и «Сменить пароль». Выберите вторую ссылку.
- Откроется небольшое окошко, в котором будет три строки «Текущий пароль», «Новый пароль» и «Подтверждение нового пароля». Когда новая комбинация цифр и букв будет придумана и введена, нажмите кнопку «Сохранить».
- Когда все действия будут выполнены правильно, на вашей странице появится небольшое уведомление «Пароль был успешно изменен».
Такой способ эффективен в случаях, когда вы помните свой старый пароль, но по разным причинам решили его поменять.
В случаях, когда отсутствует доступ к почтовому ящику, указанному при регистрации, и забылся пароль, остается лишь один способ зайти в аккаунт и сменить шифровую комбинацию – написать в службу поддержки. Для этого отправьте электронное письмо с подробным описанием проблемы на адрес info@socialit.ru. В течении некоторого времени вам будет прислан ответ и соответствующая инструкция по смене пароля.
Как поменять пароль от админки Bitrix?
Если вы потеряли пароль от админки битрикса, то всего один короткий sql запрос сможет вам вернуть власть и доступ к админке сайта.
Вот два варианта действий для восстановления пароля:
Первый: требуется доступ к базе данных.
- Подключаемся к mysql или заходим в phpMyAdmin и выбираем нужную базу данных.
- Выполняем запрос. Вместо passwd поставьте новый пароль.
UPDATE `b_user` SET password = MD5('passwd') where login = "admin";
ВНИМАНИЕ!
Рекомендуется использовать второй способ т.к. в битриксе может меняться алгоритм хеширования.
В новых версиях битрикса помимо пароля используется еще и соль. Можно попробовать такой запрос.
UPDATE `b_user` SET password = 'aaaaaaaa'.md5('aaaaaaaa'.'passwd') where login = "admin";
Второй: требуется доступ к сайту по ftp/ssh.
-
Сохраняем следующий код в файл, например, pass.php и заливаем его на сервер.
Update(1,array("PASSWORD"=>'new_B1triX_passWd')); require($_SERVER['DOCUMENT_ROOT']."/bitrix/footer.php"); ?>
Альтернативный вариант файла
Authorize(1); // укажите ID вашего пользователя LocalRedirect('/bitrix/admin/'); require($_SERVER['DOCUMENT_ROOT']."/bitrix/footer.php"); ?>
Этот вариант должен авторизовать вас под админом и перекинуть в админку где вы уже сможете поменять пароль.
Если не открывается файл то возможно у вас нет доступа к нему. В этом случае надо в папке с файлом отредактировать или создать если его нет файл .access.php
В него надо добавить строку
// если вы создали файл, а дописываете в имеющийся, // то не забудьте в начале указать открывающий тегПосле того как восстановите пароль не забудьте удалить временные файлы.
Как поменять пароль от админки Bitrix?
- ← Фиксим баг IE курсор в инпуте просвечивает через выпадающий блок
- Bitrix — количество активных элементов в разделе каталога →
10 комментариев к “ Как поменять пароль от админки Bitrix? ”
