Статьи и новости
Самые продаваемые в октябре 2025 года шаблоны и дополнения

Самые продаваемые в октябре 2025 года шаблоны и дополнения: Мультитул, IMDBOptimizer 3, Яндекс Товары в поиске, Синхронизация с Мой Склад, шаблон Only Template 3

 
 
 
 
 
Подборка новых модулей для Opencart за октябрь 2025

Новинки за октябрь 2025 года: Улучшение картинок товара, Ozon pay, UTM Tracker, перевод на казахский язык.

 
 
 
 
 
Версия LiveStore обновилась до 3.0.4.2

Версия LiveStore обновилась до 3.0.4.2, что нового?

 
 
 
 
 
Версия LiveStore обновилась до 3.0.4.1

Версия LiveStore обновилась до 3.0.4.1, что нового?

 
 
 
 
 

Как изменить адрес (URL) админки в OpenCart - просто и безопасно

 
Как изменить адрес (URL) админки в OpenCart - просто и безопасно

По умолчанию у админки OpenCart адрес /admin/. Его знают злодеи и разные боты. Сменить или спрятать эту ссылку - простой способ уменьшить мусор в логах и попытки брутфорса. Ниже - два понятных варианта для OpenCart 1.5 / 2.x / 3.x (включая ocStore 3.0.3.9): переименовать папку или настроить "виртуальный" URL через правила веб-сервера.

Перед началом

  • Сделайте бэкап файлов и базы.
  • Уточните абсолютный путь к сайту (например, /var/www/site/) и домен (https://example.com).
  • Если используете кэш/OPcache - запланируйте очистку или перезапуск.
  • Для OpenCart и ocStore 3 помните про DIR_STORAGE (часто вынесен за корень сайта).

Способ 1. Переименовать папку admin

  1. Переименуйте каталог admin - например, в secret-admin.
  2. Обновите admin/config.php, указав новый URL и корректные пути.

OpenCart 3 / ocStore 3

// HTTP
define('HTTP_SERVER', 'https://example.com/secret-admin/');

// HTTPS
define('HTTPS_SERVER', 'https://example.com/secret-admin/');

// DIR
define('DIR_APPLICATION', '/var/www/site/secret-admin/');
define('DIR_SYSTEM', '/var/www/site/system/');
define('DIR_IMAGE', '/var/www/site/image/');
define('DIR_STORAGE', '/var/www/site/system/storage/'); // или внешний путь
define('DIR_CATALOG', '/var/www/site/catalog/');

define('DIR_LANGUAGE', DIR_APPLICATION . 'language/');
define('DIR_TEMPLATE', DIR_APPLICATION . 'view/template/');
define('DIR_CONFIG', DIR_SYSTEM . 'config/');
define('DIR_CACHE', DIR_STORAGE . 'cache/');
define('DIR_DOWNLOAD', DIR_STORAGE . 'download/');
define('DIR_LOGS', DIR_STORAGE . 'logs/');
define('DIR_MODIFICATION', DIR_STORAGE . 'modification/');
define('DIR_SESSION', DIR_STORAGE . 'session/');
define('DIR_UPLOAD', DIR_STORAGE . 'upload/');

OpenCart 2.0–2.3

// HTTP/HTTPS
define('HTTP_SERVER', 'https://example.com/secret-admin/');
define('HTTPS_SERVER', 'https://example.com/secret-admin/');

// DIR
define('DIR_APPLICATION', '/var/www/site/secret-admin/');
define('DIR_SYSTEM', '/var/www/site/system/');
define('DIR_IMAGE', '/var/www/site/image/');
define('DIR_CATALOG', '/var/www/site/catalog/');

define('DIR_LANGUAGE', DIR_APPLICATION . 'language/');
define('DIR_TEMPLATE', DIR_APPLICATION . 'view/template/');
define('DIR_CONFIG', DIR_SYSTEM . 'config/');
// Остальные DIR_* — по вашей сборке (часто внутри system/storage)

OpenCart 1.5.x

// HTTP
define('HTTP_SERVER', 'https://example.com/secret-admin/');
// На фронт:
define('HTTP_CATALOG', 'https://example.com/');

// DIR
define('DIR_APPLICATION', '/var/www/site/secret-admin/');
define('DIR_SYSTEM', '/var/www/site/system/');
define('DIR_IMAGE', '/var/www/site/image/');
define('DIR_CATALOG', '/var/www/site/catalog/');

После правок очистите кэши (в 2.x/3.x: "Расширения - Модификаторы - Обновить"; если админка недоступна - удалите содержимое system/storage/cache и system/storage/modification вручную) и проверьте вход по новому адресу.

Плюсы: всё работает "из коробки", OpenCart/ocStore генерирует правильные ссылки.
Минусы: нужно помнить новое имя папки и аккуратно прописать пути.


Способ 2. "Виртуальный" URL через Rewrite (папку не трогаем)

Идея простая: папка остаётся /admin/, но снаружи вы заходите по /cp/. Для этого меняем видимый HTTP_SERVER и добавляем правила веб-сервера.

  1. Оставьте каталог admin как есть.
  2. В admin/config.php укажите «видимый» URL:
// Видимые адреса
define('HTTP_SERVER', 'https://example.com/cp/');
define('HTTPS_SERVER', 'https://example.com/cp/');

// Физические пути — на реальную папку admin
define('DIR_APPLICATION', '/var/www/site/admin/');

Apache (.htaccess в корне сайта)

RewriteEngine On

# Отдаём /cp/ из физического /admin/
RewriteRule ^cp(/.*)?$ admin$1 [L]

# (Опционально) Гасим прямой /admin/
RewriteRule ^admin(/.*)?$ - [R=404,L]

Nginx (фрагмент внутри server { ... })

# Видимый URL
location ^~ /cp/ {
    rewrite ^/cp/(.*)$ /admin/$1 last;
}

# (Опционально) Блокируем прямой /admin/
location ^~ /admin/ {
    return 404;
}

Перезапустите веб-сервер, очистите кэши OpenCart - и заходите по /cp/.

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


Ещё возможности для повышения безопасности

  • Basic Auth на админку - дополнительный пароль поверх OpenCart. Можно сделать бесплатным модулем Базовая HTTP авторизация
  • Whitelist по IP (доступ только с ваших адресов).

Добавить в начало файла /admin/.htaccess строки:

Order deny,allow
deny from all
Allow from 1.1.1.1

где 1.1.1.1 ваш айпи адрес.

  • 2FA (двухфакторная авторизация) для админов.
  • Смените дефолтный логин admin и отключите лишние учётки.
  • Captcha для админки.
  • Также можно вместо смены адреса, использовать дополнительный ключ для входа. Такая возможность есть в модуле OCCleaner - очистка и оптимизация.
  • Можно использовать модуль Щит - защита админ-панели OpenCart

Как избежать частых ошибок

  • Нет завершающего слэша в HTTP_SERVER/HTTPS_SERVER: должно быть /cp/, а не /cp.
  • Неверные пути DIR_*: проверьте реальный путь к сайту.
  • Кэш не очищен: интерфейс продолжает жить «старой» версией.
  • Конфликт правил в .htaccess/Nginx: порядок RewriteRule и location важен.
  • Смешанный контент: при HTTPS указан http:// - получите лишние редиректы и предупреждения.

Как откатить, если что-то пошло не так

  • Способ 1: верните папке прежнее имя и откатите admin/config.php.
  • Способ 2: временно уберите правила Rewrite/вырезку location и верните HTTP_SERVER на /admin/.
  • Очистите кэши/модификации, при необходимости перезапустите PHP-FPM/веб-сервер.

Рекомендуем посмотреть
Рекомендуем прочитать
 
 


Ещё никто не оставил комментариев к записи.