Вердикт щодо одного конкретного запиту
Дозволено чи заблоковано, саме для того методу, заголовків, джерела та режиму облікових даних, які ви описуєте, з названою перевіркою, що це вирішила. Не перелік заголовків, залишений на ваше тлумачення.
Знайдіть перевірку, що блокує ваш міжджерельний запит
Чи дозволив би браузер вашому коду прочитати цю відповідь? А якщо ні, яка перевірка сказала ні.
Це діагноз одного запиту, а не вивантаження заголовків. Ви описуєте виклик, який робить ваш код - кінцеву точку, джерело, на якому він працює, метод, заголовки, які він ставить, чи надсилає він облікові дані - і інструмент каже, чи дозволив би браузер вам прочитати відповідь і яка саме перевірка це вирішила.
Сервер, що кожному джерелу відповідає тим самим джерелом, виглядає так само, як правильно налаштований перелік дозволених, якщо ви перевіряєте лише своє. Один запит із джерела, якого сервер ніколи не бачив, розділяє ці два випадки, і це важливо, бо сервер, що відбиває джерело, разом з обліковими даними - це саме та конфігурація, яка робить відповідь читабельною для кожного сайту, що його відвідує користувач.
| Заголовок | З обліковими даними |
|---|---|
| Access-Control-Allow-OriginБез зірочки | Має назвати джерело. Зірочку відхиляють прямо, навіть поряд з Access-Control-Allow-Credentials: true. |
| Allow-Methods, Allow-Headers, Expose-HeadersДослівно | Зірочка перестає бути символом підстановки й читається як дослівна назва заголовка чи методу. |
| Access-Control-Allow-CredentialsОбов'язковий | Єдине прийнятне значення - точний рядок true малими літерами. |
Кожен висновок несе рівень серйозності, категорію, фазу, з якої він походить, доказ, на який спирається, заголовки, яких стосується, і рекомендацію. Перелічено також перевірки, що пройшли, тож чистий результат видно, а не просто порожньо. Два правила, яких дотримуються рекомендації, бо очевидна порада часто буває хибною: ніщо тут не каже вам відкрити метод, заголовок чи джерело лише для того, щоб зникла червона рамка - заблокований DELETE може бути правильно закритою кінцевою точкою - і ніщо тут ніколи не пропонує відбивати довільний Origin. Відповідь - це перелік дозволених, щоразу.
CORS вирішує, які джерела можуть читати відповідь усередині браузера. Це не автентифікація, він не надає дозволів і не спиняє міжсайтову підробку запитів, бо атаці CSRF ніколи не потрібно читати відповідь. Будь-який клієнт, що не є браузером, повністю його ігнорує. Цей інструмент каже про це прямо, а не дозволяє зеленому вердикту натякати, що ваша кінцева точка захищена.
Найважливіші можливості з практичними поясненнями.
Дозволено чи заблоковано, саме для того методу, заголовків, джерела та режиму облікових даних, які ви описуєте, з названою перевіркою, що це вирішила. Не перелік заголовків, залишений на ваше тлумачення.
Шість етапів, про кожен повідомляється щойно він завершується. Preflight OPTIONS вирушає так, як його надіслав би браузер, а за ним іде справжній запит, бо сам preflight ніколи не показує заголовки CORS на справжній відповіді.
Запит простий лише тоді, коли метод - це GET, HEAD або POST, а кожен заголовок є в безпечному переліку CORS, причому Content-Type обмежено трьома значеннями. Інструмент застосовує правило, а не вгадує, і саме звідти зазвичай береться несподіваний запит OPTIONS.
Один додатковий запит із джерела, якого сервер ніколи не бачив, відділяє справжній перелік дозволених від сервера, що відбиває все, що отримує. Ці два випадки виглядають однаково, якщо ви перевіряєте лише власне джерело.
Джерело-зірочка стає недійсним, а зірочки в Allow-Methods, Allow-Headers і Expose-Headers перестають бути символами підстановки й читаються як дослівні назви. Аналіз застосовує суворіший набір правил, а не звичний.
Браузер починає перевірку CORS заново за кожного переспрямування, тож кожен крок оцінюється знову, перш ніж за ним піти. Ланцюг, що завершується в поблажливому місці, все одно може бути заблокований дорогою.
До десяти додаткових джерел, перевірених проти тієї самої кінцевої точки й показаних таблицею, це найшвидший спосіб підтвердити, що локальне, тестове й робоче середовища всі є в переліку дозволених, і нічого понад це.
Кожен несе рівень серйозності, категорію, фазу, з якої походить, доказ, що за ним стоїть, і заголовки, яких стосується, поряд із перевірками, що пройшли. Жодна рекомендація не каже вам відкрити метод, заголовок чи джерело лише для того, щоб зникло попередження.
Зрозумілий шлях від офіційного джерела до першого успішного використання.
Скористайтеся одним з офіційних посилань для свого пристрою або браузера.
Дотримуйтеся інструкцій магазину або відкрийте вебзастосунок. Без сторонніх інсталяторів.
Перегляньте параметри, виберіть уподобання та почніть з основного робочого процесу.
Прозорий огляд основних технологій, використаних для створення та підтримки продукту.
Ваші дані завжди залишаються на вашому пристрої.