Я обнаружил, что браузер Android отправляет два HTTP-заголовка: «Cookie» и «Cookies» (нестандартные) в этом сценарии:
- Страница HTML5 встраивает видео HLS.
- В Chrome я нажимаю «play».
- Браузер Chrome сначала загружает плейлист самостоятельно.
- Затем он создает контейнер видео.
- Некоторый другой системный браузерзагружает варианты списков воспроизведения и файлов сегментов.И этот браузер отправляет эти два заголовка HTTP.
Нестандартный заголовок «Cookies» содержит все файлы cookie, которые хранятся в Chrome (родительском браузере).Стандартный заголовок «Cookie» содержит файлы cookie, которые хранятся в этом встроенном браузере.(И в PHP это приводит к $ _SERVER ['HTTP_COOKIE'] и $ _SERVER ['HTTP_COOKIES'].)
Это происходит только при первом запросе списка воспроизведения.При последующих запросах отправляется только заголовок «Cookie».Это продолжается до тех пор, пока я не перезагружаю страницу, а затем снова отправляется заголовок «Cookies» вместе с «Cookie» для первого запроса плейлиста.
Мой вопрос:
- Этобезопасно полагаться на заголовок «Cookies»?Это где-нибудь задокументировано?Не изменится ли это поведение в будущем?Потому что я не смог найти никаких документов по этому вопросу.
Я динамически обслуживаю плейлисты и сегменты с помощью PHP, и мне нужна проверка файлов cookie для их сервера.Поэтому, если я не проверю заголовок «Cookies», я получу посетителей, у которых нет «Cookie» и, следовательно, у них нет прав на просмотр видео.
Это происходит только в Android, а не в iOS.
Iпредположим, что это «браузер Android» на работе, потому что в Chrome Remote Debugging я не вижу загрузки отдельных сегментов, поэтому это должны быть некоторые системные компоненты.Я проверил это на Samsung Galaxy Tab A6 (SM-T585) и телефоне XIAOMI Redmi 6A.
И у меня также есть следующие вопросы:
Как пользователь планшета сбрасывает такие куки, которые встроенный браузер накапливается за сценой при запросе сегментов?
Почему он работает таким образом?В конце концов, это уязвимость, потому что если пользователь запускает сеанс Incognito Chrome и просматривает какое-то видео, файлы cookie во встроенном браузере сохраняются после завершения Incognito.