"Чудом" удалось залогиниться (проблема логина решена)

Друзья, товарисчи!

Уже недели 3-4 на этот сайт практически невозможно залогиниться.
Сейчас каким-то чудом залогинился через Yandex браузер. Пользуясь случаем, пишу этот топик.

Большая просьба ко всем — у кого есть проблемы с логином, отпишитесь pls в этом тикете

Upd (23.06.2021)

В Chrome v91 убрали флаг same-site-by-default-cookies
Но можно запустить Chrome с командной строки.
Для Win10:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-features=SameSiteByDefaultCookies
Для OSX:
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome --disable-features=SameSiteByDefaultCookies

Upd (25.02.2021)
Вобщем выяснил наконец причину!

Дело в том, что начиная с 80-й версии chrome-based браузеров появилась защита от межсайстовой передачи куков (межсайтовых POST-запросов). А на LS сейчас именно такая система используется: passport.livestreetcms.com редиректит на livestreet.ru, передавая куки

«Вылечить» можно так:
1. Заходим по адресу chrome://flags/#same-site-by-default-cookies
2. Устанавливаем для свойства SameSite by default cookies значение Disabled
3. Перезапускаем браузер и все работает

Иными славами для файлов (в т.ч. куков) добавлено новое свойство: SameSite. У которого возможно 3 значения:
SameSite=Strict — куки передаются только в пределах одного сайта
SameSite=Lax (именно такое значение задается кукам по дефолту, если оно не задано явно) — куки передаются между сайтами только в пределах одного домена
SameSite=None — ограничения на передачу куков отсутствуют

Подробнее здесь и здесь.

Глобально решить проблему можно, задав для куков авторизации свойство SameSite со значением None (SameSite=None; Secure). И при этом необходимо чтобы и livestreet.ru также был на https.

Сделать это можно примерно так:
Для php < 7.3 (через установку заголовков):
header('Set-Cookie: cross-site-cookie=name; SameSite=None; Secure');
Для php ≥ 7.3:
setcookie('cross-site-cookie', 'name', ['samesite' => 'None', 'secure' => true]);

Или поставить примерно такую либу.

Но это может сделать только Макс, если захочет ;)

Решение — кросс-пост с тикета на github

Плагин "My Login"


Основной функционал плагина:
  • Позволяет пользователям менять логин;
  • Поддержка коротких ссылок для профилей пользователей (site.com/user1);
  • Поддержка поддоменов для профилей пользователей (user1.site.com);

То есть, плагин позволяет пользователю изменять свой логин. Эта функция доступна в настройках аккаунта. В совокупности с остальным функционалом плагина, мы получаем полезный инструмент для поднятия мини соц. сетей. Ведь, мы все этим занимаемся! ;D

Так же тут учтено то, чего нет в shortprofile: при регистрации или изменении логина не возможно выбрать такой логин, какой бы вёл на существующие разделы сайта, например, не можно зарегистрировать пользователя с логином blogs.

С ссылками на профиль дело обстоит так: мы можем включить одну из функций, или короткие URLs, или поддомены, или оставить как есть, используя при этом только функцию изменения логина. А можно и наоборот: включать только ссылки.

При этом, для работы поддоменов вы должны настроить сервер так, чтобы все запросы с поддоменов передавались на основной домен. То есть, нужно прописать alias вида *.site.com. Дальше скрипт всё сделает сам.

При всём этом, я постарался сделать плагин совместимым с NiceURL. Тут основным условием является, то что надо обязательно указывать в NiceURL постфикс для ссылок (.html, .htm или .php). А также, добавил фикс для того, чтобы подружить NiceURL и RusURLs, но для этого плагин «My Login» должен всегда быть выше в списке plugins.dat, чем NiceURL

Установка:
После активации плагина, получаем ошибку 404, и это нормально. Так происходит потому, что в плагине меняется адрес админки: site.com/admin на site.com/ls_admin. Это нужно для того, чтобы не было конфликта между коротким адресом профиля админа и админкой. То же самое происходит и при дезактивации.

При активации все сессии пользователей удаляются, то есть все пользователи будут разлогинены. Это надо для того, чтобы записать правильную сессию для поддоменов.

Для правильной работы плагина нужно в config.local.php указать вручную `path.root.web` (настоящий адрес сайта, например: «site.com.ua»).

Настройка:
Плагин настраивается в config/config.php.
$config['functions'] = array(
    'change_login' => true, // изменение логина
    // тип ссылки на профиль
    'profile_type' => 'subdomain',   // 'default' - site.com/profile/admin/
                            // 'subdomain' - admin.site.com/
                            // 'short' - site.com/admin/
);

// не допустимые логины
$config['banned_logins'] = array(
    'www',
    'error',
);

Редирект после авторизации по условию

Привет. Этой мой первый вопрос здесь, прошу заранее извинить за некоторую некорректность в постановке вопроса, если таковая будет присутствовать. Перекопал весь сайт, были схожие вопросы, но не помогли мне в решении проблемы.
Мне нужно сделать так, чтобы в зависимости от роли пользователя ( например manager, operator и проч) после того, как человек залогинился происходил редирект на заданную страницу. Для каждого профиля она своя. Методом проб и ошибок искал, куда можно поместить условие, но успехом это не увенчалось. Знающие люди, поможете советом?

Регистрация, вход и комментарии зависают

К сожалению, поиск не помог.

Проблема: когда пользователь нажимает «Зарегистрироваться» или «Войти», введя все данные, появляются полоски ожидания — и ничего не происходит. При обновлении вручную — все ОК, регистрация и вход происходят.
Когда пользователи добавляют комментарий, то тоже выглядит, как будто ничего не происходит, хотя если страницу обновить, коммент там, где надо…

Что уже попробовала: переустановить всю систему, установить разные шаблоны, прописать редирект с «www на без WWW», проверить конфиг, отключить все плагины сторонние… Вроде все, что здесь нашла… Что еще можно сделать?(

Спасибо!

Login - uLogin

Всем привет!

А почему плагин для входа на сайт uLogin убрали из каталога? И еще: судя по поиску по тегу ulogin плагин не рабочий с версией ЛС 1.0.3

Я не знаю, кто там что пишет. Установил плагин на свой сайт, активировал — все работает как часы. Так что кому нужна авторизация на сайте через соц сети — ставьте uLogin и не морочьте себе голову :)

Проблема с авторизацией LiveStreet 1.0.3

Добрый день, нужна ваша помощь, по неизвестным мне причинам авторизация на моем сайте работает через раз.

Т.е эта загрузка может проходить бесконечно а через время только сработать, есть догадки что это как то с кэшем связано. Но всё же может кто нибудь сталкивался?

Мультисессии

Обошел всё сообщество в поиске решения насущной для многих проблемы с сессиями, но не нашел. То есть проблемы, когда например залогинившись с мобильного устройства, сбрасывается сессия в браузере ПК, где мы логинились минуту назад.

Плагин Remember Me(http://goo.gl/Flc8FF) решение несерьезное — есть множество примеров (можно найти в поиске), когда его использование приводило к проблемам. К тому же складировать все сессии пользователей в БД неправильно как-то, слишком много записей. Его я в расчет даже не беру.

Здесь(http://goo.gl/oSzm7G) пользователь предлагал решение, но так как резонанс оно не вызвало, наверное его действительно не безопасно использовать.

Единственное решение, которое просится — это позаимствовать решение этой проблемы у Alto CMS(http://goo.gl/X6Smtp).

Знаю, что для многих это серьезная проблема, по этому предлагаю собраться в этом топике, обсудить и нанять специалиста, который сделает плагин.