Услуги Создание магазина Доработка Интеграция 1С О компании FAQ Блог Кейсы Отзывы Контакты
А
Автор статьи

Права на файлы и папки OpenCart: как настроить безопасно

Краткое описание задачи

Неправильные права на файлы — одна из самых частых причин взлома OpenCart. PHP-файлы с правами 777 позволяют злоумышленнику изменить любой файл на сайте. Разберём, как настроить права безопасно.

Из практики: знание структуры шаблона сокращает доработки с дней до часов.

Какие права должны быть

  • PHP-файлы (.php) — 644 (владелец читает/пишет, группа/другие только читают).
  • Папки — 755 (владелец читает/пишет/выполняет, группа/другие читают/выполняют).
  • config.php — 400 или 440 (только чтение, без записи).
  • Папка storage/ — 755, но файлы внутри — 644.
  • Изображения и файлы загрузок — 644.

Почему 777 — это опасно

Права 777 дают полный доступ любому процессу на сервере. Если злоумышленник получит возможность выполнить код (через уязвимость в модуле), он сможет перезаписать любой файл с правами 777 — включая index.php, чтобы вставить свой код.

Команды для настройки

find /path/to/site -type f -name "*.php" -exec chmod 644 {} ;
find /path/to/site -type d -exec chmod 755 {} ;
chmod 440 /path/to/site/config.php
chmod 440 /path/to/site/admin/config.php
chmod 755 /path/to/site/system/storage/

Рекомендации из практики

Как лучше: После установки OpenCart сразу выставите права 644 на все PHP-файлы и 755 на папки. Это базовая защита, которая блокирует бо́льшую часть автоматизированных атак. Затем отдельно защитите config.php правами 400 — после настройки сайта его не нужно редактировать, а чтение через браузер PHP не отдаёт.

Как не делать: Не выставляйте 777 на папки в hopes что модуль установится. Если модуль требует 777 — это плохой модуль. Ищите другой или просите разработчика исправить. Права 777 на сервере снимают любую защиту: любой скрипт на хостинге может изменить ваши файлы.

Кейс из практики: Клиент установил модуль обмена с 1С — в инструкции было написано «выставить 777 на папку system/storage/». Через месяц сайт взломали: через дыру в соседнем скрипте на хостинге залили шелл-скрипт, который вытянул базу с заказами. После восстановления сделали правильные права: 755 на storage, 644 на всё остальное, 400 на config.php — больше инцидентов не было.

Нужно проверить безопасность OpenCart — закажите технический аудит: проверим права, конфиги и уязвимости.

FAQ

После смены прав перестал работать модуль — что делать?

Возможно, модулю нужна запись в свою папку (например, для кэша). Дайте папке модуля права 755, а не 644.

Как проверить права на файлы без доступа к SSH?

Через FTP-клиент (FileZilla, Total Commander): в свойствах файла или папки смотрите цифровое значение прав (644, 755 и т.д.). Если хостинг даёт файловый менеджер в панели (cPanel, ISPmanager) — там тоже отображаются права. По практике, права можно проверить и через PHP: создайте файл phpinfo.php и найдите раздел «open_basedir».

Итог

Права на файлы — база безопасности. PHP — 644, папки — 755, config — 440. Никогда не используйте 777.

← Предыдущая Как найти вирусы и вредоносные файлы в OpenCart Следующая → Как безопасно устанавливать модули OpenCart: чек-лист для владельца магазина

Комментарии (0)

Пока нет комментариев. Будьте первым!

Оставить комментарий

Ваш комментарий появится после проверки модератором.