Проблема блокирования чтения из-за перекрестного источника (CORB) при создании запроса img - PullRequest
0 голосов
/ 26 июня 2018

Я сейчас пытаюсь реализовать это решение здесь . Решение кажется довольно простым и возможным, так как я являюсь владельцем обоих хостов. На mysite1.com я добавил следующий тег img.

<img src="//mysite1.com.com/cookie_set/" style="display:none;">

На моем site2.com (django) у меня такое представление:

def cookie_set(request):
    response = HttpResponse()
    response.set_cookie('my_cookie', value='awesome')
    return response

Когда я выпущу этот код вживую. Я получаю следующую ошибку:

Cross-Origin Read Blocking (CORB) blocked cross-origin response https://www.mysite2.com/cookie_set/ with MIME type text/html. See https://www.chromestatus.com/feature/121212121221 for more details.

Я подумал, что, возможно, если бы я просто добавил "Access-Control-Allow-Origin", на мой взгляд, это могло бы исправить положение, но согласно документам здесь: https://www.chromium.org/Home/chromium-security/corb-for-developers, есть еще одно соображение:

Например, он будет блокировать текстовый / html-ответ перекрестного происхождения, запрошенный из тега или, заменяя его пустым ответом.

Верны ли мои предположения? После добавления правильных заголовков я должен просто изменить тип содержимого на что-то отличное от text/html?

В конечном итоге, моя последняя цель - я хочу установить cookie для другого домена, которым я управляю (в идеале без перенаправления).

1 Ответ

0 голосов
/ 27 августа 2018

Лучшее решение: используйте для этого другой тег. (т. е. iframe).

Смысл CORB состоит в том, чтобы предотвратить использование определенных тегов для внедрения данных XSSI. Поэтому запросы тегов img не должны возвращать типы содержимого text / html, application / json или xml.

Таким образом, если только вызов тега img не предназначен для захвата самого запроса (например, для отслеживания реферера), вы получите гораздо большую гибкость, выполняя в любом случае iframe (например, для рабочих процессов перенаправления SSO).

См. Также: Настройка сторонних файлов cookie с помощью тега 1x1 image- Javascript не удаляет файлы cookie

...