Битрикс ошибка входа при сохраненной авторизации

 


С недавнего времени при попытки войти  в админку, получаю ошибку:
Ошибка авторизации! Ваша сессия истекла, повторите попытку авторизации.
И не пускает, сколько не пытайся.
Помогает только ребут сервера (на CentOS).
Что делать?

 

Такое же бывает. Помогает авторизация на frontend’е множественным нажатием кнопки войти.

 

да вот больше года сидим на битриксе, а такое стало только сейчас появляться, раньше все нормально было((

 

Такая же проблема, появилась недавно. Еще один из симптомов — эта же ошибка выдавалась при любых действиях (применениях/сохранениях) в административной части, при этом разлогиниться было нереально — авторизация почему-то держалась, только после полной чистки куков удалось разлогиниться, но авторизоваться по прежнему не удается.
Кто-нить нашел решение?

 
 

Та же проблема! Нет доступа к сайту…

http://dev.1c-bitrix.ru/community/forums/forum6/topic57892/

Кто нибудь нашел решение ? Техподдержка молчит(

 

Пользователь 91178

Заглянувший

Сообщений: 2
Регистрация: 19.05.2013

#7

13.11.2013 20:41:01

Решил проблему отключением шифрования пароля. Создав и выполнив файл.

Код
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

COption::SetOptionInt('main', 'use_encrypted_auth', 'N');

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");

Потом поставил галочку «запомнить меня на этом компьютере».

 

А мне не помогло :(
Как зайти в админку ?

 
 

отключил журналирование логов и заработало

 

Пользователь 173519

Эксперт

Сообщений: 493
Баллов: 51
Регистрация: 30.03.2013

#11

05.04.2014 14:08:42

Цитата
Евгений пишет:
Такое же бывает. Помогает авторизация на frontend’е множественным нажатием кнопки войти.

Сразу пустило, но только во фронтенд.

В админку все также не пускает.((

Разработка интернет магазина под ключ на 1С-Битрикс www.electroid.org, интеграция битрикс и 1С.

 

Проблема была в том, что на сервере не осталось свободного места.

Разработка интернет магазина под ключ на 1С-Битрикс www.electroid.org, интеграция битрикс и 1С.

 

Пользователь 38346

Посетитель

Сообщений: 50
Баллов: 4
Регистрация: 26.02.2009

#13

24.04.2014 12:31:15

Возникла аналогичная ситуация.
Решение только для редакций, включающих модуль Проактивной защиты (Стандарт и выше).
Проблема была в том, что было включено хранение сессий в БД, при этом была повреждена таблица b_sec_session.
Отключаете скриптом через ftp хранение сессий в БД (файл с данным кодом на сервер по ftp)

Код
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

COption::SetOptionInt('security', 'session', 'N');

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php"); 

Затем проводите штатными средствами Битрикса проверку и восстановление БД.

 

Пользователь 50984

Посетитель

Сообщений: 71
Баллов: 5
Регистрация: 20.10.2009

#14

16.09.2014 07:47:37

Цитата
Александра Зайцева пишет:
Возникла аналогичная ситуация.
Решение только для редакций, включающих модуль Проактивной защиты (Стандарт и выше).
Проблема была в том, что было включено хранение сессий в БД, при этом была повреждена таблица b_sec_session.
Отключаете скриптом через ftp хранение сессий в БД (файл с данным кодом на сервер по ftp)

Код
  require ( $_SERVER [ "DOCUMENT_ROOT" ]. "/bitrix/header.php" );

COption::SetOptionInt( 'security' ,  'session' ,  'N' );

 require ( $_SERVER [ "DOCUMENT_ROOT" ]. "/bitrix/footer.php" ); 
 

Затем проводите штатными средствами Битрикса проверку и восстановление БД.

Помогло.

Разаработка на 1С-Битрикс

 
 

Пользователь 303016

Заглянувший

Сообщений: 4
Регистрация: 04.01.2015

#16

28.03.2015 09:34:12

Цитата
Александра Зайцева написал:
Возникла аналогичная ситуация.
Решение только для редакций, включающих модуль  Проактивной защиты  (Стандарт и выше).
Проблема была в том, что было включено хранение сессий в БД, при этом была повреждена таблица b_sec_session.
Отключаете скриптом через ftp хранение сессий в БД (файл с данным кодом на сервер по ftp)

Код
 require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

COption::SetOptionInt('security', 'session', 'N');

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php"); 
 

Затем проводите штатными средствами Битрикса проверку и восстановление БД.

Не помогло. Та же ошибка и осталась. Не может отключить этим скриптом

 

Пользователь 46710

Постоянный посетитель

Сообщений: 103
Баллов: 16
Регистрация: 06.08.2009

#17

02.04.2015 12:59:27

Цитата
Виталий Мусин написал:
Решил проблему отключением шифрования пароля. Создав и выполнив файл.

Код
 require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

COption::SetOptionInt('main', 'use_encrypted_auth', 'N');

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
 

Потом поставил галочку «запомнить меня на этом компьютере».

Помогло — спасибо!

 

Не сработало, пока в таблицу не залез и руками не поправил на N

 

Пользователь 1246357

Заглянувший

Сообщений: 8
Регистрация: 03.07.2017

#19

19.09.2017 09:49:55

Метод используется не тот.  COption::SetOptionInt устанавливает значение типа Integer — числа.
Для задания букв Y или N надо использовать COption::SetOptionString

Парни, проблема.
Пишем апи на битрикс для мобильного приложения(МП). И нужно, чтобы пользователь мог авторизовываться и регистрироваться через мп. И регистрация так же должна идти через соц сети.
Для того, что бы пользователь мог авторизоваться, мы отдаем ему токен вида:(id_user:hach_password). И для пользователя, который регистрируется через соц сети, указываем через какую сеть он авторизовался.(вк или фб), в битриксе есть стандартная переменная EXTERNAL_AUTH_ID.
После того как прошла регистрация, он получает свой токен и с ним хочет авторизоваться. И в этот момент, в момент авторизации выскакивает ошибка от битрикс. «Проверка сохраненной авторзации не пройдена». И все, тут у нас затык((
Если пользователь логиниться через почту, все у него работает.
ТОкен генерируем таким образом. $ID_USER . ':' . $USER->GetSessionHash();
Проверяем пользователя на авторизацию таким образом:$USER->LoginByHash($ID_LOGIN, $hash);

Соответственно все расставив на свои места. Пользователя находит, но не авторизовывает.
Уже проверили все исходники, все увы.
Смотрели эти функции более детально, что бы понятно на каком этапе у нас проблема, но все равно не очень понятно, что не так.
bxapi.ru/src/?module_id=main&name=CUser%3A%3AAuthorize
bxapi.ru/src/?module_id=main&name=CUser::UpdateSes…
bxapi.ru/src/?module_id=main&name=CUser%3A%3ALogin…
bxapi.ru/src/?module_id=main&name=CUser%3A%3ACheck…

Я понимаю, что без кода будет сложно, но все, может кто сталкивался с подобной ситуаций, буду рад любому совету)

Как починить авторизацию, которая начала постоянно слетать после обновления Битрикс


Обновлено: 19 июня 2023


11464 просмотра

После очередного обновления Битрикса в ноябре 2020 г. пользователи сталкиваются со «слётом» авторизации практически сразу после ввода пароля, то есть их разлогинивает сразу после авторизации.

Проблема с задвоением PHPSESSID (идентификатор сессии php появлялся в cookies браузера дважды) серьёзна, так как у простых посетителей задача «выполнить очистку cookies в браузере» вызовет ступор, а без этого они не смогут нормально авторизоваться.

Поэтому надо инициировать удаление лишних данных из cookie со стороны сервера, для этого впишите куда-нибудь в файл /bitrix/php_interface/dbconn.php (заменив www.site.ru из примера на свой домен):

  • Если вы не используете многосайтовость, а поле «Доменное имя» было до ноябрьского обновления заполнено, и после вы его очистили (как рекомендует статья), то надо удалить куку с точкой в начале
  • setcookie("PHPSESSID", "", 777, "/", ".www.site.ru");
  • Если вы используете многосайтовосить или решили не очищать поле «Доменное имя», тогда надо удалить куку без точки — впишите (строго без какого-либо имени домена):
  • setcookie("PHPSESSID", "", 777, "/");

    Если вам пришла идея переопределить название идентификатора «PHPSESSID» на уровне настроек PHP, что бы обойти проблему — это плохая идея, которая вызовет трудноотлавливаемые проблемы.

    Надеюсь, эта статья помогла решить вашу проблему!

    При входе в систему выдает ошибку авторизации.
    По всей вероятности повредилось какая то таблица(возможно кончилось место, наиболее вероятная причина)
    либо отсутствует «место» для хранения сессий (прим. отсутствует папка)


    Ошибка: Ваша сессия истекла, повторите попытку авторизации.
    Нельзя авторизоваться в админке.

    Комментарий:
    При входе в систему выдает ошибку авторизации
    По всей вероятности повредилось какая то таблица(возможно кончилось место, наиболее вероятная причина)
    либо отсутствует «место» для хранения сессий (прим. отсутствует папка)

    Решение:
    нужно запустить /bitrix/admin/site_checker.php (он покажет и исправит проблему)
    Чтобы сделать тестирование без авторизации нужно: Инструмент представляет возможность протестировать конфигурацию даже если не работает авторизация или сайт не открывается из за нарушения сжатия (на экране отображаются крякозябры). Для этого достаточно создать пустой файл site_checker_debug в папке /bitrix. После этого откройте страницу 

    http://ваш_сайт/bitrix/admin/site_checker.php

    Второе решение: (оно ровно такое же, но другим способом заходим в админку и на мой взгляд смысла не имеет)
    Решение только для редакций, включающих модуль Проактивной защиты (Стандарт и выше).
    Проблема была в том, что было включено хранение сессий в БД, при этом была повреждена таблица b_sec_session.

    Отключаете скриптом через ftp хранение сессий в БД (создадим файл названием us.php с кодом который представлен ниже и закинем в корень сайта по ftp)

    Код — который должен быть в файлике us.php

    require ( $_SERVER [ "DOCUMENT_ROOT" ]. "/bitrix/header.php" );
    COption::SetOptionInt( 'security' ,  'session' ,  'N' );
    require ( $_SERVER [ "DOCUMENT_ROOT" ]. "/bitrix/footer.php" );

    Запускам сначала наш файлик http://ваш_сайт/us.php, после этого проводим штатную авторизацию

    После этого проведите проверку и восстановление БД штатными средствами Битрикса.

    При некоторых настройках безопасности для группы администраторов на 1С-Битрикс система требует смены пароля каждые 90 дней. Но, если пропустить момент смены пароля, то возникнет странная ситуация…

    При попытке входа в системы вы будите получать ошибку: «Ошибка авторизации! Срок действия пароля истек, необходимо сменить пароль»

    Ошибка авторизации! Срок действия пароля истек, необходимо сменить пароль

    Получаем очень странное поведение системы 🙂 У пользователя истек срок действия пароля, система говорит необходимо сменить пароль, но пользователь не может зайти в админку чтобы его сменить. Что делать в этом случае? В интернетах нашел несколько решений данной проблемы.

    Через базу данных

    Если у нас есть доступ к БД Битрикса например через phpMyAdmin, заходим в базу.

    Нам нужна таблица b_group, дальше нужна запись с ID=1, которая отвечает за группу администраторов

    Далее ищем строку  s:20:"PASSWORD_CHANGE_DAYS", вслед за ней s:2:"90".

    Указываем через сколько дней нужно менять пароль через БД в Битрикс

    В этой строке 90 — это как раз число дней действия пароля, если это поменять это число на 0, то пароль будет действовать бесконечно.

    Итоговая строка должна выглядеть так:

    "PASSWORD_CHANGE_DAYS";s:2:"0"

    Далее сохраняем запись в БД (при редактировании записи в phpmyadmin нужно нажать кнопку «Вперед») и теперь спокойно заходим в админку.

    Через ФТП

    Еще один вариант войти в админку Битрикса при просроченном пароле. Если есть доступ к фтп, то нужно создать PHP файл adm2023.php (название любое) следующего содержания:

    <?php
    
    require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");
    
    global $USER;
    
    $USER->Authorize(1);
    
    LocalRedirect(“/bitrix/admin/”);
    
    ?>

    Далее загрузить его в корень сайта. И перейти по адресу https://вашсайт/adm2023.php
    При выполнении скрипта возникнет ошибка:

    Но все равно, если после перейти на https://вашсайт/bitrix вы будите авторизованы как администратор и сможете сменить пароль.

    Очень важно, не забудьте сразу удалить созданный файл!

    Как сделать чтобы такая ситуация не возникала?

    Можно сделать так чтобы периодическая смена пароля не требовалась. Для этого в настройках группы пользователей на вкладке Безопасность, нужно выставить в «Требовать смены пароля через указанное количество дней: » значение 0. В этом случае больше не будет требования сменить пароль.

    Но я бы не рекомендовал этого делать, можно поставить просто не 90, а 180 дней. Для безопасности пароль все же желательно периодически менять.

  • Битрикс ошибка авторизации доступ запрещен просмотр файла bitrix admin index php запрещен
  • Битрикс ошибка 504 gateway time out
  • Битрикс ошибка 502 плохой шлюз
  • Битрикс ошибка 500 как исправить
  • Битрикс настройка 404 ошибки