Защита административной части на Opencart 3.x


Защита административной части

Защита административной части на Opencart 3.x

На данный момент защита административной части на Opencart 3.x стоит вопрос очень остро. Разработчики движка конечно поработали над безопасностью своего продукта, но увы во всех версиях opencart имеется стандартный доступ к административной части сайта. Сегодня мы будем рассматривать вариант без модулей и каких либо дополнений. Сразу скажу что код не мой и даже идея не моя, просто нашёл в интернете и решил с Вами поделиться.

Смотрите также:

1.ПРОСТАЯ РЕГИСТРАЦИЯ И ЗАКАЗ SIMPLE — ХАК СО СЧЕТОМ
2. КАК УБРАТЬ СМОТРЕТЬ ВСЕ В ПОДКАТЕГОРИЯХ
3. АТРИБУТЫ ТОВАРА НА СТРАНИЦЕ КАТЕГОРИИ OPENCART

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

  1. Топаем вот сюда: /admin/controller/common/ и делаем копию файла login.php — это необходимо на случай если сделаете , что-то не так и у Вас будет оригинал файла))

Теперь открываем файл login.php любым редактором кода и вставляем в начало файла ( после <?php конечно) но перед

class ControllerCommonLogin extends Controller {  следующий код:

if (isset($_GET['secretkey'])) {
  $seckey = $_GET['secretkey'];
  setcookie ("secretkey", $_GET['secretkey']);
} else if (isset($_COOKIE['secretkey'])) {
  $seckey = $_COOKIE['secretkey']; 
  } else {
    $seckey = '';
  }
if ($seckey != 'secretkeyvalue') {
  header( 'Refresh: 0; url=/index.php?route=error/not_found' );
  exit;
} else { ?>

//содержимое  /admin/controller/common/login.php

}

После данных манипуляций с файлами opencart мы сохраняем изменения. Теперь мы не сможем попасть в административную часть сайта через стандартный /admin. Что вы всё таки попасть в админку необходимо после имени Вашего сайта добавить: admin?secretkey=secretkeyvalue. 

Теперь немного поясню основные пункты:

  1. «secretkeyvalue» — можете заменить на любое сгенерированное слово или просто набор букв и цифр. Привет: DJtkg4U0GgqtN9nqb229NFMpEKouskocnvDTdeYD  и просто подставить в код. И тогда у Вас получится что вместо admin?secretkey=secretkeyvalue получаемadmin?secretkey=DJtkg4U0GgqtN9nqb229NFMpEKouskocnvDTdeYD
  2. «header( ‘Refresh: 0; url=/index.php?route=error/not_found’ );»  — эта ссылка перенаправляет всех кто просто пишет /admin в адресной строке на страницу Запрашиваемая страница не найдена!  — Это стандартная страница опенкарт.

Вот в принципе и вся хитрость.

P.S. Если вдруг Вы обнаружили что после авторизации в админке просто введя /admin Вы получили форму для авторизации, то не паникуйте, код выше работает, просто необходимо почистить куки и всё вернётся на круги свои :=)  .  И еще, когда Вы заходите в свою административную часть сайта на чужом ПК, удаляйте данные из браузера для сущей безопасности))

Previous Модуль популярных служб доставок по Украине
This is the most recent story.

Suggested Posts

Эффект при наведении-следующий по направлению курсора

Создаем собственный шрифт из иконок для сайта

Набор элементов интерфейса — Square

Как ускорить загрузку веб-страниц

Знаменитая игра Duck Hunt с помощью CSS3

Модуль для OpenCart OCFilter v4.7.5