Files
obsidian/Магазин обуви (apelsincom)/Известные проблемы и рекомендации (apelsincom).md
T
2026-07-06 13:05:56 +03:00

59 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Известные проблемы и рекомендации (apelsincom)
Грабли и слабые места по результатам разбора кода (только чтение, без сканирования и эксплуатации). Часть — гипотезы, требующие проверки в админке; отмечено. Модель угроз — [[Информационная безопасность (apelsincom)]].
Приоритет: **критично** — сразу; **важно** — скоро; **средне** — планово.
## Критично
**1. Полный бэкап в webroot.** `public_html/shoes.zip` (~1.27 ГБ). Если открывается по `https://<домен>/shoes.zip` — это утечка исходников и, возможно, дампа БД со всеми секретами и токенами API.
→ Убрать из webroot, проверить, что ссылка отдаёт 403/404, впредь бэкапы в публичных папках не держать ([[Кэширование и обслуживание (apelsincom)]]).
**2. Открытый API без проверенной защиты.** Модуль `richcode.api` даёт доступ к товарам, заказам, пользователям. Если не включены HTTPS-only, белый список IP и токен-авторизация — это открытая дверь.
→ Проверить и включить меры в настройках модуля. См. [[REST API (richcode.api)]] и [[Информационная безопасность (apelsincom)]].
**3. FTP по открытому порту, доступы переданы текстом.** Порт 21, пароль передавался в переписке.
→ Сменить пароль FTP, перейти на FTPS/SFTP, секреты не слать в открытых каналах.
## Важно
**4. Хардкод номера инфоблока (IBLOCK_ID = 2).** Прописан в `catalog/index.php`, `header.php`, шаблонах компонентов, и используется в API. Пересоздание каталога под другим ID потребует правок во многих местах.
→ При любой миграции каталога искать `"IBLOCK_ID" => "2"` и `iblock_catalog`/`2` по всему `/local/` и в настройках `richcode.api`.
**5. Файлы импорта/фидов в публичном `upload/`.** `upload/xml/pric.xml`, `import_test_50.xml`, `upload/bitrix_import.csv` — могут раскрывать закупочные данные.
→ Проверить доступность по прямой ссылке; рабочие фиды держать вне webroot или закрыть; тестовые удалить.
**6. Демо-данные на витрине.** Контакты в подвале заглушечные (`info@catalog.ru`, `+7 (999) 123-45-67`).
→ Заменить перед продом ([[Шаблон custom]]).
## Средне
**7. Мусор в шаблонах.** В `catalog.smart.filter/custom` лежит `template copy 1.php` — нерабочий дубль, легко перепутать с `template.php`.
→ Удалить после проверки, что он нигде не подключается.
**8. Дубли шаблонов `bootstrap_v4` рядом с `custom`.** Исходные шаблоны eShop лежат рядом с рабочими. Риск править не тот файл.
→ Помнить, какой шаблон реально указан в вызове компонента ([[Компоненты и шаблоны компонентов]]).
**9. Логи и служебные файлы в доступе.** `error_log*`, `bitrix/site_checker_*.log`, `updater*.log`.
→ Ограничить доступ/чистить; снижает объём разведданных.
**10. Внешний виджет higgleby.tech.** Сейчас отключён (закомментирован). При включении — передача данных третьей стороне.
→ Включать осознанно, отразить в политике ПДн.
**11. Расхождения в документации API `richcode.api`.** Подсказки модуля вводят в заблуждение: поле токена названо `UF_RESTFUL_API_TOKEN`, хотя код использует **`UF_API_TOKEN`**; предлагается передавать токен заголовком `Authorization-Token`, хотя рабочий код читает его **из URL**. Разработчик на интеграции легко потеряет время.
→ Ориентироваться на код и на [[REST API — методы и примеры (richcode.api)]], а не на подсказки в админке.
**12. Неочевидные правила тела запросов API.** Легко потерять время на интеграции:
- каталог (инфоблок 2) обслуживает **`sale/product`**, а `iblock/element` каталог **отклоняет** («Инфоблок с указанным ID не найден»);
- у `add`/`update`/`section.add` тело обёрнуто в ключ **`fields`**, а у `order/create` — нет;
- свойства передаются с префиксом `PROPERTY_<КОД>`, поля раздела — `UF_<КОД>`.
→ Проверенные схемы — в [[REST API — методы и примеры (richcode.api)#Точные схемы (проверено по моделям)]].
## Что хорошо
- Свежая версия платформы (25.100.500, 2025) — меньше известных уязвимостей.
- Принудительный HTTPS и запрет листинга директорий в `.htaccess`.
- Кастомизация вынесена в `/local/`, ядро не правится.
- У модуля API есть встроенные меры (HTTPS-only, IP-фильтры, CORS, токены) — их нужно лишь правильно включить.
## См. также
- [[Информационная безопасность (apelsincom)]]
- [[REST API (richcode.api)]]
- [[Быстрый старт для нового разработчика (apelsincom)]]