Skip to content
YandexMapsLocator
YandexMapsLocator
Локатор точек на Яндекс.Картах для MODX 3. Free: карта и поиск. Pro: «открыто сейчас», MiniShop3, CSV и REST
  1. Компоненты
  2. YandexMapsLocator
  3. Pro
  4. Безопасность API

Безопасность API

Ключи yandexmapslocator_api_* ставит Free. Endpoint и kill switch оживают после Pro. Rate limit list режет и Free search.php.

Pipeline

Request → ApiSecurityMiddleware (enabled, Bearer, rate limit, CORS) → парсер → валидация parents → controller → serializers → JSON + security headers.

Ключевые настройки

КлючРекомендация на production
yandexmapslocator_api_enabledДа. Выключайте при инциденте
yandexmapslocator_api_tokenЗадайте длинный секрет, не оставляйте пустым
yandexmapslocator_api_cors_originsТочные origins фронта, не *
yandexmapslocator_api_allowed_parentsОграничьте контейнеры точек
yandexmapslocator_api_resource_tvsWhitelist TV для include=tv
yandexmapslocator_api_trust_proxyДа только за доверенным reverse proxy
yandexmapslocator_api_list_rate_limitПод нагрузку сети
yandexmapslocator_api_geocode_rate_limitГеокод дороже по квоте Яндекса

Полный список: Системные настройки.

Заголовки ответа

  • Content-Type: application/json; charset=utf-8
  • X-Content-Type-Options: nosniff
  • List: Cache-Control: public, max-age=60
  • Geocode: Cache-Control: no-store
  • CORS только из allowlist
  • 429 + Retry-After: 60 при превышении лимита

Примеры тел ошибок:

json
{
  "success": false,
  "error": "Unauthorized",
  "code": "unauthorized"
}
json
{
  "success": false,
  "error": "Rate limit exceeded",
  "code": "rate_limit_exceeded"
}
json
{
  "success": false,
  "error": "API is disabled",
  "code": "api_disabled"
}

Что не отдаёт API

REST не включает apiKey Яндекс.Карт в JSON. Ключ на странице сниппета попадает только в URL скрипта карт в браузере.

where в REST и search.php запрещён.

Без Pro параметр product_id сбрасывается даже если передан в запросе.