Видео/аудиоплеер HTML5 на мобильном Safari (iOS 7 и iOS 10) исключает файлы cookie

Я заметил, что видео/аудиоплеер HTML5 (AppleCoreMedia) на мобильном Safari на iOS 7 исключает все файлы cookie, даже сторонние файлы cookie. В HTTP-заголовок не включены даже куки файлы сеансов. Это делает невозможным ретрансляцию авторизации файлов cookie при воспроизведении видеоклипа в мобильном Safari на iOS 7.

Все файлы cookie включены правильно для запуска iOS 6, но в iOS 7 никакие файлы cookie не включены в HTTP-заголовок AppleCoreMedia.

Может ли кто-то еще подтвердить эту проблему на iOS 7?

Шаги для воспроизведения:

  • Создайте файл cookie на веб-странице.
  • Воспроизведите видеоклип HTML5 на одной и той же веб-странице с помощью мобильного Safari в iOS 7.
  • Проверьте журналы сервера для AppleCoreMedia и найдите файл cookie.

Обновление 2016-09-20: видеопроигрыватель в iOS 10 (AppleCoreMedia) не может читать файлы cookie сеанса. Только куки, установленные с датой истечения срока действия, могут быть прочитаны видеопроигрывателем.

Ответ 1

Для iOS10, если вы ответили запретом на 403, AppleCoreMedia каким-то образом попытается снова, но на этот раз с отсутствующими файлами cookie. Если у вас есть код, который перенаправляется на страницу входа, когда отсутствует файл cookie сеанса, видео не будет работать на iOS 10.

Ответ 3

В iOS 7.1 ошибка продолжает существовать

Очевидно, Apple игнорирует эту ошибку, и я не понимаю, почему, поскольку она затрагивает так много пользователей.

Я запускал некоторые тесты на устройстве iOS 7.1, у которого была эта проблема, и довольно ясно, что ошибка связана с частной функцией просмотра. Включение частного просмотра и последующее отключение устраняет проблему на устройстве.

Ответ 4

Я все еще вижу проблемы с iOS 7.0.4, к сожалению. Согласуется ли ниже с тем, что вы видите, или это, возможно, другой тип проблемы?

Мой тестовый сервер запускает Moodle на Apache, и один пользователь может последовательно реплицировать это двумя iPad на iOS 7.0.4. HTTP 407s в журналах ниже - вещь Moodle. Как вы можете видеть, cookie не отправляется с запросами диапазона:

access_log:

xxx.yyy.zzz.227 - - [22/Nov/2013:23:11:18 +0000] "GET /pluginfile.php/21/mod_videofile/videos/0/trailer_test.mp4 HTTP/1.1" 200 3711807 "http://xyz.bitnamiapp.com/mod/videofile/view.php?id=2" "Mozilla/5.0 (iPad; CPU OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53"
xxx.yyy.zzz.227 - - [22/Nov/2013:23:11:19 +0000] "GET /pluginfile.php/21/mod_videofile/videos/0/trailer_test.mp4 HTTP/1.1" 407 12818 "-" "AppleCoreMedia/1.0.0.11B554a (iPad; U; CPU OS 7_0_4 like Mac OS X; en_us)"
...

forensic_log:

+Uo-kj38AAAEAAH0O5MEAAAAJ|GET /pluginfile.php/21/mod_videofile/videos/0/trailer_test.mp4 HTTP/1.1|Host:xyz.bitnamiapp.com|Referer:http%3a//xyz.bitnamiapp.com/mod/videofile/view.php?id=2|Accept-Encoding:gzip, deflate|Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8|Accept-Language:en-us|Cookie:MoodleSession=24gkspshgl8027k3l7p2cor631|Connection:keep-alive|DNT:1|User-Agent:Mozilla/5.0 (iPad; CPU OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53
+Uo-kkH8AAAEAAB2cL4IAAAAA|GET /pluginfile.php/21/mod_videofile/videos/0/trailer_test.mp4 HTTP/1.1|Host:xyz.bitnamiapp.com|Range:bytes=0-1|X-Playback-Session-Id:DF1039A4-571B-4EB8-BFFB-EF07CD730CA2|Accept-Encoding:identity|Accept:*/*|Accept-Language:en-us|Connection:keep-alive|User-Agent:AppleCoreMedia/1.0.0.11B554a (iPad; U; CPU OS 7_0_4 like Mac OS X; en_us)
-Uo-kj38AAAEAAH0O5MEAAAAJ
-Uo-kkH8AAAEAAB2cL4IAAAAA
...

Ответ 5

Используя iOS 7.0.2, я вижу файлы cookie, включенные в запрос. Здесь мой заголовок агента пользователя:

User-Agent: AppleCoreMedia/1.0.0.11A501 (iPad; U; CPU OS 7_0_2 like Mac OS X; en_us)

Ответ 6

Эта проблема еще не установлена ​​Apple. Мы постоянно получаем отчеты от наших пользователей, работающих под управлением iOS 7.0.6, что они не могут воспроизводить видеоролики, потому что в заголовок не включены файлы cookie.

И для многих пользователей, превращение сафари в частный режим, а затем обратно в норму, не устраняет проблему.

Я также отметил, что Dropbox написал в своем блоге, что они вернулись к аутентификации маркера url из-за проблем подобного типа с видеоплеерами.

Apple постоянно игнорирует наш отчет об ошибке, поэтому эта ошибка, вероятно, не будет исправлена ​​в течение длительного времени.

Ответ 7

Я слышал на виноградной лозе, что iOS 10.2 будет содержать исправление для этой проблемы

Ответ 8

У меня были аналогичные проблемы с кукисами на iOS 7.0.3, но теперь они исправлены с iOS 7.0.4. Позвольте надеяться, что это останется таким образом.