OpenCart: как защитить админку
Админка, по умолчанию, находится по адресу сайт.ру/admin. Это проблема.
Что делать
- Открываем сайт/admin/controller/common/login.php
- Находим код:
$this->load->language('common/login');
- После него вставляем:
$pass = null;
if (!isset($_GET[PASS_KEY]) || $_GET[PASS_KEY] != PASS) {
$this->response->redirect('http://'.$_SERVER['HTTP_HOST']."/");
}
else {
$pass = '&'.PASS_KEY.'='.PASS;
}
- Находим код:
$data['action'] = $this->url->link('common/login', '', true);
- Заменяем его на:
$data['action'] = $this->url->link('common/login', '', true).$pass;
- Открываем сайт/admin/config.php
- После тега <?php, на новой строке, вставляем:
define('PASS_KEY', 'ключ');
define('PASS', 'пароль');
- Заменяем ключ, например, на access, а пароль на hellohacker.
- Сохраняем, обновляем кэш.
- Готово.
- Админка будет находиться по адресу сайт.ру/admin?access=hellohacker.
- Если адрес ввести неверно, произойдёт переадресация на главную страницу.
Крутой у вас блог. Всегда нахожу для себя что-то полезное. Спасибо.
Спасибо за отзыв, приятно :—)
Антон, кстати, письма от вашего блога падают в папку Спам. Я бы рекомендовал вам настроить SPF, DKIM, DMARC для домена.
Странно, всё настроено. Выясню. Спасибо, что сообщили.