Ситуации, когда CRM-система теряет сессию и выкидывает пользователя из портала, возникают редко. С данной проблемой мы столкнулись при работе с одним из наших новых клиентов. Он пользуется коробочной версией системы, а значит решение за собственником портала. Если подобная ошибка возникла у вас на облачной версии — обратитесь в техническую поддержку разработчика Битрикс24.
В статье расскажем о решении проблемы с разлогиниванием пользователей коробочного Битрикс24.
Разберем проблему в 3 этапа:
Симптомы проблемы разлогинивания Битрикс24
Нашим специалистам отдела инфраструктуры поступила задача: на портале клиента наблюдается плавающее время разлогинивания. Иногда 5-10 минут, иногда 20-30 секунд. Фактически после любого действия и перехода на портале пользователя выкидывало на страницу авторизации.
Проблема наблюдалась на стороне всех пользователей, вне зависимости от того, являются они администраторами или нет. Выглядела проблема следующим образом:
- Пользователь проходит авторизацию на портале.
- Совершает какое-либо действие — переходит в другой раздел сайта, создает сделку, просматривает уведомления.
- После нескольких операций пользователя на портале происходит разлогинивание — возврат на стартовую страницу Битрикс24.
Быстрое тестирование показало, что проблема наблюдается в разных браузерах. Мы проверили три самых популярных:
- Google Chrome
- Opera
- Яндекс.Браузер
Определившись с симптомами проблемы, мы начали выяснять ее причины.
Причины разлогинивания
Причин для разлогинивания может быть несколько, расскажем о пяти часто встречающихся. Более подробно проблемы разлогинивания мы рассмотрели в нашей бесплатной книге «Частое разлогинивание в коробочном Битрикс24. Проблемы и способы их решения». Получить книгу бесплатно в формате PDF можно по WhatsApp или Телеграм.
Простыми словами, сессия — это время, в течение которого авторизованный на портале пользователь может бездействовать без необходимости повторного ввода логина и пароля. Здесь сомнения может вызвать чересчур короткое время разрешенных действий на портале — от 20 секунд до 15 минут. В среднем время сессии по умолчанию равняется 24 минутам.
Например, CloudFlare. Если вы пользуетесь данным сервисом для защиты от DDOS-атак, то с большой долей вероятности причина кроется именно в этом.
На просторах интернета это довольно распространенная ошибка, вызывающая неудобства для пользователей. Постоянно слетающая авторизация не позволяет править элементы и совершать банальные действия на портале.
С технической точки зрения провайдер CloudFlare подменяет IP пользователя на свой IP, и, как следствие, текущая сессия прерывается.
При подключении через VPN ваш IP-адрес может часто меняться, что может вызывать проблемы с авторизацией на портале. Это связано с тем, что система безопасности может воспринимать смену IP-адреса как подозрительную активность и автоматически завершать текущую сессию для защиты данных.
«Сломать» Битрикс24 через административную панель пользователю, не обладающему достаточными компетенциями, очень просто. Достаточно лишнего пробела или одной удаленной строчки из конфигурационного или любого другого системного файла для того, чтобы нарушить работу портала.
Файлы dbconn.php, init.php и after_connect.php с сессиями продукта создаются, но PHP не хватает прав доступа, чтобы к ним обратиться.
Для решения проблемы разлогинивания пользователя нужно проверить все участки, где мог возникнуть сбой или требуется корректировка настроек. Иногда работы нужно провести не по одному пункту.
Для решения проблемы требуются соответствующие компетенции!
Если вы не уверены в своих навыках, обратитесь в компанию ПУСК
Решение проблемы
После того, как определили, где может быть причина возникающей проблемы, движемся к ее решению поэтапно. Мы рассмотрели пять шагов, которые могут помочь при проблеме разлогинивания. Более подробно о решениях постоянного выхода из системы читайте в нашей бесплатной книге «Частое разлогинивание в коробочном Битрикс24. Проблемы и способы их решения». Получить книгу бесплатно в формате PDF можно по WhatsApp или Телеграм.
Существуют разные способы определения и установки времени жизни сессии. Рассмотрим три из них:
- Настройка сессии на веб-сервере. Выполняется путем редактирования параметра gc_maxlifetime и cookie_lifetime в файле php.ini. Данный способ подходит для администратора веб-сервера.
- Настройка сессии в файле .htaccess. Файл .htaccess позволяет системному администратору управлять настройками веб-сервера. Для редактирования .htaccess требуется доступ к файлам сайта, которые, как правило, хранятся на сервере. Данный способ не сработает, если в качестве обработчика PHP используется не Apache. В противном случае понадобятся более глубокие настройки веб-сервера.
- Настройка времени сессии в административной панели — самый простой способ для пользователя с административными правами на портале Битрикс24, не желающего напрямую работать с файлами сервера. Для установки времени сессии нужно зайти в панель Администрирования и перейти в панель Настройки. Далее нужно зайти в Группы пользователей и для нужных групп в разделе Безопасность установить нужное время сессии. По умолчанию установлен параметр Не переопределять — это означает, что по умолчанию значение длительности сессии берется из настроек сервера.
Настроили время сессии, движемся дальше.
Если вы не знаете, какой провайдер предоставляет вам свои услуги, можно провести диагностику на сторонних сервисах:
Если ваш хостинг-провайдер CloudFlare, то внезапное разлогинивание объяснимо — сессия обрывается инструментами защиты Битрикс24.
Для исправления ошибки необходимо внести правки в файл dbconn.php вашего портала или сайта. Данный файл находится в папке php_interface по следующему пути:
Административная панель → Контент → Структура сайта → Файлы и папки → Bitrix → php_interface
В PHP-код следует добавить строку, предназначенную для получения реального IP-адреса клиента, обращающегося к веб-сайту, когда сайт использует Cloudflare. Как правило, достаточно строки в коде, которая заменяет значение $_SERVER["REMOTE_ADDR"] (IP-адрес Cloudflare) значением $_SERVER['HTTP_CF_CONNECTING_IP'] (реальный IP-адрес клиента).
P.S. в сеансах Bitrix CMS привязаны к одному IP-адресу, поэтому, если ваш IP-адрес меняется — автоматически вы больше не можете войти в систему.
Настройте VPN так, чтобы он не изменял ваш IP-адрес для домена Битрикс24, если это возможно. Некоторые VPN-сервисы позволяют добавлять исключения для определенных сайтов. Это же работает и в обратную сторону: настроить прокси или VPN можно только для определенных сайтов. Все остальные сайты, как Битрикс24, будут работать напрямую.
Используйте серверы VPN, которые обеспечивают стабильное соединение и минимальные изменения в маршрутизации трафика.
Если VPN подключается через сервер в другой стране, это может вызвать проблемы с доступом, особенно если на стороне сервера Битрикс24 есть ограничения по регионам. В таких случаях рекомендуется выбирать серверы, расположенные ближе к вашему физическому местоположению, чтобы минимизировать задержки и избежать блокировок, связанных с региональными ограничениями.
Подобные правки необходимы, если в следующих файлах встречаются лишние пробелы или символы:
- dbconn.php
- after_connect.php
- after_connect_d7.php
- init.php
Данные файлы находятся в папке php_interface по аналогичному со вторым шагом пути:
Административная панель → Контент → Структура сайта → Файлы и папки → Bitrix → php_interface
Для диагностики подобных ошибок можно также запустить инструмент Проверка системы в административной панели.
Для этого нужно внести правки в файл dbconn.php, находящийся по адресу:
Административная панель → Контент → Структура сайта → Файлы и папки → Bitrix → php_interface
В данном файле требуется закомментировать строку, которая устанавливает маску прав доступа для создаваемых файлов и директорий (umask(~BX_DIR_PERMISSIONS).
В нашем случае решающим оказался второй шаг — клиент, у которого обнаружилась проблема, пользовался услугами CloudFlare. Стоит отметить, что команда Битрикс24 также не рекомендует использовать проксирование от CloudFlare:
Мы поправили настройки, не затрагивая системные файлы, хранящиеся на хостинге. Последующие проверки ошибок не выявили. Сотрудники компании продолжили работу на портале, не отвлекаясь на ежеминутный ввод логина и пароля.
Нужна срочная помощь специалиста по Битрикс24?
Команда ПУСК готова вам помочь!
- Разбираемся в проблемах быстро. Вам не придется ждать по полгода — мы выясним, почему происходит разлогинивание, и найдем решение. Наши специалисты знают, что и как сделать, чтобы всё заработало
- У нас более 10 лет опыта в Битрикс24, что позволяет нам предлагать лучшие решения для наших клиентов
- Наши клиенты экономят до 20% бюджета благодаря нашим конкурентным ценам без ущерба для качества
- Мы предлагаем 100% индивидуальный подход к каждому проекту, тщательно анализируя ваши потребности и цели
- Узнаем, в чем проблема, и скажем вам цену. Никаких скрытых платежей — максимальная открытость взаимодействия
Напишите или позвоните по телефону