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

Защита входа в админку ocStore 0.2.2 и ocStore 1.0.1


Гість

Recommended Posts

Здравствуйте уважаемые форумчане!

В теме "Безопасность админки", было приведено одно из решений по защите попадания в админку путем изменения путей в config.php самой админки.

Предлагаю еще одно решение основанное на проверке доп. параметра при входе в админку. Правки будет мало, не так как при "Активация пользовательского e-mail" :)

Итак приступим:

правим файл \admin\index.php

для версии 0.2.2

ищем

// Session
$registry->set('session', new Session());
ниже вставляем вот это:
$sess = @$registry->get(session);
if (empty($sess->data['SecureAuthentication'])) {
	if((preg_match("/admin\/*index.?\.php$/i", $_SERVER['SCRIPT_NAME']))) {
		if($_SERVER['QUERY_STRING'] != 'random' ) {
			header('Location: ../index.php');
			exit;
		}  else {
           $sess->data['SecureAuthentication'] = '1';
		}
	}
}
unset($sess);
сохраняем файл.

для версии 1.0.1

ищем

$registry->set('session', $session);
ниже вставляем вот это:
if (empty($session->data['SecureAuthentication'])) {
	if((preg_match("/admin\/*index.?\.php$/i", $_SERVER['SCRIPT_NAME']))) {
		if($_SERVER['QUERY_STRING'] != 'random' ) {
			header('Location: ../index.php');
			exit;
		}  else {
           $session->data['SecureAuthentication'] = '1';
		}
	}
}
сохраняем файл.

Совместно для обоих версий 0.2.2 и 1.0.1

Правим \admin\controller\common\logout.php

после

unset($this->session->data['token']);
добавляем
unset($this->session->data['SecureAuthentication']);
сохраняем файл.

Слово "random" в строке

if($_SERVER['QUERY_STRING'] != 'random' )
файла \admin\index.php - это именно та переменная которую можно менять и надо будет теперь дописывать в путь попадения в админку.

Если раньше набирали http://моймагазин/admin/

то теперь надо будет набирать http://моймагазин/admin/?random обратите внимание на "?" он важен.

В итоге получаем такую картину, тот, кто правильно набрал путь с переменной, попадает в админку, дальше надо будет ввести логин-пароль.

Те, кто ошибается в строке, автоматом отсылается на главную магазина.

Все. Спасибо за внимание.

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

  • 2 weeks later...

У меня не работает. OS 2.0 . Ошибки вываливаются. На админ панель все равно попадает ( на сайт не перенаправляется )и сверху ошибка

Notice: Use of undefined constant session - assumed 'session' in ..........\admin\index.php on line 98

, при попытке авторизации тоже ошибки

Notice: Use of undefined constant session - assumed 'session' in .........\admin\index.php on line 98Warning: Cannot modify header information - headers already sent by (output started at .........\admin\index.php:73) in ...........\system\engine\controller.php on line 27

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


У меня не работает. OS 2.0 . Ошибки вываливаются. На админ панель все равно попадает ( на сайт не перенаправляется )и сверху ошибка

Notice: Use of undefined constant session - assumed 'session' in ..........\admin\index.php on line 98

, при попытке авторизации тоже ошибки

Notice: Use of undefined constant session - assumed 'session' in .........\admin\index.php on line 98Warning: Cannot modify header information - headers already sent by (output started at .........\admin\index.php:73) in ...........\system\engine\controller.php on line 27

Можно посмотреть на admin\index.php, как вы его поправили? Такое ощущение, что вместо того чтобы добавить текст ниже
$registry->set('session', new Session());
Вы эту строчку заменили. Поэтому такой константы session (установка сессии как раз происходит на 96-ой строке admin\index.php) не существует.

PS, а вообще хорошо бы обновиться до 0.2.2 :rolleyes:

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

Можно посмотреть на admin\index.php, как вы его поправили? Такое ощущение, что вместо того чтобы добавить текст ниже

$registry->set('session', new Session());
Вы эту строчку заменили. Поэтому такой константы session (установка сессии как раз происходит на 96-ой строке admin\index.php) не существует.

PS, а вообще хорошо бы обновиться до 0.2.2 :rolleyes:

Спасибо за ответ. Внимательно все проверю, о результатах отпишусь.
Надіслати
Поділитися на інших сайтах


  • 4 months later...

А на 1.5 можно портировать?

Попробовал вставить - ни ошибок ни результата работы :)

Добавил изменения в первый пост. Разница в коде admin/index.php версий 0.2.2 и 1.0.1 минимальная , но она есть, из-за этого и не работало.

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

Добавил изменения в первый пост. Разница в коде admin/index.php версий 0.2.2 и 1.0.1 минимальная , но она есть, из-за этого и не работало.

Собственно так и делал... только vqMod. Только я не учел, что index.php не редактируется через него, т.к. vqMod в нем только объявляется :)
Надіслати
Поділитися на інших сайтах

Здравствуйте уважаемые форумчане!

В теме "Безопасность админки", было приведено одно из решений по защите попадания в админку путем изменения путей в config.php самой админки.

Предлагаю еще одно решение основанное на проверке доп. параметра при входе в админку. Правки будет мало, не так как при "Активация пользовательского e-mail" :)

Итак приступим:

правим файл \admin\index.php

для версии 0.2.2

ищем

// Session
$registry->set('session', new Session());
ниже вставляем вот это:
$sess = @$registry->get(session);
if (empty($sess->data['SecureAuthentication'])) {
	if((preg_match("/admin\/*index.?\.php$/i", $_SERVER['SCRIPT_NAME']))) {
		if($_SERVER['QUERY_STRING'] != 'random' ) {
			header('Location: ../index.php');
			exit;
		}  else {
           $sess->data['SecureAuthentication'] = '1';
		}
	}
}
unset($sess);
сохраняем файл.

для версии 1.0.1

ищем

$registry->set('session', $session);
ниже вставляем вот это:
if (empty($session->data['SecureAuthentication'])) {
	if((preg_match("/admin\/*index.?\.php$/i", $_SERVER['SCRIPT_NAME']))) {
		if($_SERVER['QUERY_STRING'] != 'random' ) {
			header('Location: ../index.php');
			exit;
		}  else {
           $session->data['SecureAuthentication'] = '1';
		}
	}
}
сохраняем файл.

Совместно для обоих версий 0.2.2 и 1.0.1

Правим \admin\controller\common\logout.php

после

unset($this->session->data['token']);
добавляем
unset($this->session->data['SecureAuthentication']);
сохраняем файл.

Слово "random" в строке

if($_SERVER['QUERY_STRING'] != 'random' )
файла \admin\index.php - это именно та переменная которую можно менять и надо будет теперь дописывать в путь попадения в админку.

Если раньше набирали http://моймагазин/admin/

то теперь надо будет набирать http://моймагазин/admin/?random обратите внимание на "?" он важен.

В итоге получаем такую картину, тот, кто правильно набрал путь с переменной, попадает в админку, дальше надо будет ввести логин-пароль.

Те, кто ошибается в строке, автоматом отсылается на главную магазина.

Все. Спасибо за внимание.

_______________________________________________________________________________________________________________

Приветствую Вы меня извените зачем так сложно...то настройте файл .htaccess на хостинге и будет вам счастье или я не прав?

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


_______________________________________________________________________________________________________________

Приветствую Вы меня извените зачем так сложно...то настройте файл .htaccess на хостинге и будет вам счастье или я не прав?

.htaccess это тоже вариант закрытия доступа в админку, НО с ним есть сложности как правильно его прописать и реализовать. Конкретных действий по .htaccess (что от начала, до конца надо прописать, добавить) нет.

Собственно мой вариант решения, как возможно реализуемый и рабочий родился из вот этого обсуждения: https://opencartforum.com/topic/1318-%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C-%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%BA%D0%B8/

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

  • 2 months later...

.htaccess это тоже вариант закрытия доступа в админку, НО с ним есть сложности как правильно его прописать и реализовать. Конкретных действий по .htaccess (что от начала, до конца надо прописать, добавить) нет.

Собственно мой вариант решения, как возможно реализуемый и рабочий родился из вот этого обсуждения: http://opencartforum...BD%D0%BA%D0%B8/

А почему происходит привязка к конкретному компу при внесении этих изменений? C другого компа не войти.
Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

Хочу добавить кнопку админки на главную страницу сайта! как это реализовать?

Например,установив этот модуль,поставить вывод модуля только на главной,и вставьте ссылку вида:

<a href="http://имя сайта/admin">Админка</a>
Или просто вставьте эту ссылку в шаблон.
Надіслати
Поділитися на інших сайтах


  • 11 months later...

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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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