Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Сделать, чтобы не слетала авторизация в ЛК после закрытия браузера


Recommended Posts

Ocstore 2.3

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

Кто сможет реализовать на платной основе?

Надіслати
Поділитися на інших сайтах


nikifalex, на шарде не всегда пройдет, он там раз N часов принудительно чистит папку с сессиями 

  • +1 1
Надіслати
Поділитися на інших сайтах

nikifalex, ArtemPitov, сайт на на vps, хостер adminvps.ru

Программист пробовал разные способы, но не получается. Сказал, что дело не в хостере, т.к. на локалке тоже пробовал и не помогало.

Надіслати
Поділитися на інших сайтах


Делается это все вот так 

 

1) В systemсоздаем папку sessions

 

2) system/library/session.php

после ini_set('session.cookie_httponly', 'On');

добавляем 

            ini_set('session.cookie_lifetime', 15552000);
            ini_set('session.cookie_gc_maxlifetime', 15552000);

15552000 - тут пол года, ставите свое значение 60 сек * 60 мин * 24часа - получаем день и так дальше 

 

дальше перед 

session_start();

добавляем 

 

session_save_path(DIR_SYSTEM . 'session');

и 

session_set_cookie_params(15552000, '/');

Так же 15552000 на свое 

 

Надіслати
Поділитися на інших сайтах

nikifalex, так шардер вроде не дает выбора что ставить, что дали на том и крутимся 

Надіслати
Поділитися на інших сайтах

Потмоу что авторизация действует на сессию браузера

 

После закрытия браузера - сессия будет закрыта автоматически
поэтому нужна кука однозначно гарантирующая "запомнить меня" (remember me)

Но не спешите покупать
Возможно, что ни один разработчик не заморочился безопасностью (судя по бесплатным)

 

Надіслати
Поділитися на інших сайтах

30 минут назад, Sergeyy84 сказал:

то что посоветовал ArtemPitov, не сработает?

Нет не сработает

 

Повторю

Эти установки живы для сессии браузера

Браузер закрыли  - сессия умерла

Наработок нет, но то как сделано это в бесплатных модулях - это дыра в безопасности, достаточно перехватить (украсть) куки и... все

  • +1 1
Надіслати
Поділитися на інших сайтах

2 часа назад, chukcha сказал:

Наработок нет, но то как сделано это в бесплатных модулях - это дыра в безопасности, достаточно перехватить (украсть) куки и... все

тут имеется ввиду взлом личного кабинета пользователя или всего магазина?

Змінено користувачем Sergeyy84
Надіслати
Поділитися на інших сайтах


3 часа назад, Sergeyy84 сказал:

тут имеется ввиду взлом личного кабинета пользовател

В основном это

всего магазина - это вторично.

Надіслати
Поділитися на інших сайтах

вот пример, как ломается бесплатный remember me

 

				$activity_data = array(
					'customer_id' => $this->customer->getId(),
					'name'        => $this->customer->getFirstName() . ' ' . $this->customer->getLastName()
				);

Эти данные получаем из контроллера

 

Устанваливаем куку

setcookie("customer_id_cookie", $activity_data['customer_id'], time() + (10 * 365 * 24 * 60 * 60), "/");

Заметьте - это id пользователя

 

затем

if(isset($_COOKIE["customer_id_cookie"]) && $_COOKIE["customer_id_cookie"]!=''){
	$_SESSION['default']['customer_id']=$_COOKIE["customer_id_cookie"];

ВСЕ! приплыли..
Как сломать?

регистрируемся, получаем в куке свой id

 

теперь начинаем уменьшать id в куке

 

Все юзер залогинен.потому что

if (isset($this->session->data['customer_id'])) {

Т.е. даже красть кук не надо.

Надіслати
Поділитися на інших сайтах

Прикольно, нужно будет свой велосипед на досуге придумать  

Надіслати
Поділитися на інших сайтах

зачем думать?

Есть масса рекомендаций, например

http://jaspan.com/improved_persistent_login_cookie_best_practice

 

Но реально, если делать правильно, то это хорошая фишка получится..
 

Надіслати
Поділитися на інших сайтах

Ну вот, то что я и говорил - зачем думать,

В 13.06.2017 в 12:46, chukcha сказал:

Возможно, что ни один разработчик не заморочился безопасностью (судя по бесплатным)

 

Платный модуль

https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=27493&filter_search=remember me

 

зарегился

залогинился

получил куку

изменил

Закрыл браузер

открыл сайт

Опс.. я залогинен под чужим логином.

 

И это без особого желания что-либо ломать. Только ради проверки.

 

Надіслати
Поділитися на інших сайтах

прикольно, потом получил доступ к бд и верти сайтом как угодно, .а если есть фтп то вообще весело 

Надіслати
Поділитися на інших сайтах

10 минут назад, ArtemPitov сказал:

прикольно, потом получил доступ к бд и верти сайтом как угодно, .а если есть фтп то вообще весело 

И каким образом вы доступ к БД получите из аккаунта покупателя?

Надіслати
Поділитися на інших сайтах


@Shureg Вы не поняли суть, при таком подходе мы переберем ID пока не зайдем в админку, а там уже проще пареной репы  

Надіслати
Поділитися на інших сайтах

5 минут назад, ArtemPitov сказал:

@Shureg Вы не поняли суть, при таком подходе мы переберем ID пока не зайдем в админку, а там уже проще пареной репы  

Каким образом вы в нее зайдете, перебирая аккаунты ПОКУПАТЕЛЕЙ ?

Надіслати
Поділитися на інших сайтах


31 минуту назад, Shureg сказал:

Каким образом вы в нее зайдете, перебирая аккаунты ПОКУПАТЕЛЕЙ ?

Да, все верно, я немного не в ту сторону курю 

Надіслати
Поділитися на інших сайтах

1 час назад, Sergeyy84 сказал:

Как быть? Ждать от вас модуль с шифрованием кук?

Собирайте желающих..

Надіслати
Поділитися на інших сайтах

Мне интересно какой рынок этого мода.

1. Уже написан и тестируется.

2. Много ли желающих и.. читающих такую тему.

Отметились бы  в теме.

  • +1 1
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.