Выйти всех клиентов из Prestashop - PullRequest
0 голосов
/ 21 февраля 2020

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

Я попробовал следующий код, но безрезультатно:

$customers = Customer::getCustomers();
foreach($customers as $customer) {
    $obj = new Customer($customer['id_customer']);
    $obj->logout();
}

Есть ли способ изначально аннулировать / уничтожить все пользовательские сессии из Prestashop (код или бэк-офис)? В противном случае простые PHP методы приветствуются.

Ответы [ 2 ]

2 голосов
/ 23 февраля 2020

То, к чему я пришел, в значительной степени упомянуло Махди Шад в своем ответе, но позвольте мне добавить более подробную информацию:

Я изменил префикс названия Prestashop cook ie от "Prestashop-" на «MySiteName-» (вы можете изменить на что угодно), перейдя к /classes/Cookie.php и изменив следующую строку (строка 78):

$this->_name = 'MySiteName-'.md5(($this->_standalone ? '' : _PS_VERSION_).$name.$this->_domain);

Что ж, вместо этого переопределяем класс хотя прямое изменение - это, безусловно, лучшая практика.

Это изменение имени повара ie немедленно делает файлы cookie старого браузера устаревшими (даже если срок их действия не истек), и, таким образом, все пользователи получают выписан Именно то, что я хочу!

1 голос
/ 22 февраля 2020

Вы должны изменить повар Prestashop ie, чтобы избежать проверки входа в систему.

Невозможно изменить «ключ-ключ» из-за сбоя всех паролей, но вы можете переопределить класс Cook ie и изменить повар ie выкройка.

...