2016-04-29 2 views
0

Мы запускаем веб-сайт, на котором отображаются встроенные видео. Видео встраиваются через iframe. Iframe src только позволяет рефереру быть веб-сайтом, на котором отображается видео, иначе он выдает 403. Веб-сайт реагирует. Поскольку последние обновления IOS (9.3 и 9.3.1) обновляются, если вы обновляете их на этих страницах, вы получаете 403. Это происходит в сафари и хроме. Встраиваемый iframe контролируется путем проверки массива разрешенных источников, использующих PHPvideo iframe embed throws 403 последнее обновление ios

В наших тестах пользователи с более ранней версией IOS не имеют такой же проблемы.

Может ли кто-нибудь пролить свет на то, почему это может произойти?

Благодаря

Matthew

+0

Привет, Мэтью! Будьте осторожны при создании новых тегов - ваш тег '403' был дубликатом тега' http-status-code-403'. Спасибо! –

ответ

0

Это кажется ошибка в WebKit:

https://bugs.webkit.org/show_bug.cgi?id=155754

Чтобы обойти это, я предложил бы генерировать случайный маркер на странице 'внешней' , и добавляет его к URL-адресу iframe (и сохраняет его в сеансе или в какой-либо другой базе данных). Затем вы можете проверить, отправлен ли «правильный» токен.

Хотя для этого требуется, чтобы на одном и том же сервере были обе страницы (видео и «внешняя страница»), это решение более безопасно, чем проверка реферера, поскольку пользователь мог отправить любую строку в «заголовке referrer».

В качестве альтернативы просто пропустите проверку для iOS 9.3 & & 9.3.1, и надеемся, что все пользователи будут обновлены до iOS 9.3.2 в ближайшем будущем, что, похоже, исправлено.