Налаштування CORS-політик для API 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування CORS-політик для API 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування CORS політики для API 1С-Bitrix

CORS (Cross-Origin Resource Sharing) — механізм безпеки браузера, який обмежує cross-origin HTTP запити. При побудові API для 1С-Bitrix, доступних з різних доменів або поддоменів, правильне налаштування CORS є необхідним.

Основи CORS

Браузер відправляє заголовок Origin з кожним запитом. Сервер відповідає заголовком Access-Control-Allow-Origin, вказуючи, які origins можуть доступати ресурс. Без відповідних заголовків браузер блокує відповідь.

Реалізація у Bitrix

Додайте CORS заголовки до відповідей API:

header("Access-Control-Allow-Origin: https://example.com");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");
header("Access-Control-Allow-Headers: Content-Type, Authorization");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Max-Age: 86400");

Для preflight OPTIONS запитів, поверніть 200 з CORS заголовками перед обробкою фактичного запиту.

Стратегії налаштування

Один домен: Дозволяє тільки специфічний домен.

Wildcard: Дозволяє усі origins (не рекомендується для чутливих API):

Access-Control-Allow-Origin: *

Динамічний: Перевірте origin проти whitelist під час виконання.

Креденціали та безпека

Встановіть Access-Control-Allow-Credentials: true для дозволу cookies/auth заголовків. Уникайте wildcard з креденціалами — дозволені тільки специфічні origins.

Поширені проблеми

  • Preflight не виходить: Відсутній обробник OPTIONS — реалізуйте для повернення CORS заголовків.
  • Креденціали заблоковані: Креденціали потребують явного origin (не wildcard).
  • Проблеми кеширования: CORS заголовки кешуються; очистіть кеш при зміні конфігурації.

Найкращі практики

  • Дозволяйте тільки необхідні origins.
  • Використовуйте специфічні методи (GET, POST) замість усіх методів.
  • Обмежте дозволені заголовки до того, що потрібне.
  • Використовуйте HTTPS для запитів з креденціалами.
  • Встановіть відповідний max-age, щоб зменшити preflight запити.

Правильне налаштування CORS балансує безпеку та функціональність. Занадто обмежувальне порушує інтеграції; занадто дозволяюче створює ризики безпеки.