2016-04-29 129 views
0

我們運行顯示嵌入式視頻的網站。視頻通過iframe嵌入。 iframe src只允許引用者成爲正在顯示視頻的網站,否則它會拋出一個403.該網站是響應式的。由於最新的IOS(9.3和9.3.1)會在這些頁面上刷新時更新,所以會引發403。這發生在safari和chrome中。通過使用PHP檢查允許的引用數組來控制嵌入式iframe,使用PHP視頻iframe嵌入引發403最新的ios更新

在我們的測試中,使用早期版本IOS的用戶不會遇到同樣的問題。

任何人都可以闡明爲什麼這可能會發生?

感謝

馬修

+0

嗨馬修!創建新標籤時請小心 - 標籤「403」與標籤「http-status-code-403」相同。謝謝! –

回答

0

這似乎是在WebKit的一個錯誤:

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

要解決這個問題,我會建議在 '外部' 頁面生成一個隨機令牌,並將其附加到iframe的URL(並將其保存在會話或其他數據庫中)。然後您可以檢查是否發送了「正確」的令牌。

雖然這要求您在同一臺服務器上同時擁有兩個頁面(視頻和「外部頁面」),但此解決方案比引薦檢查更安全,因爲用戶可以在「引用標頭」中發送任何字符串。

另外,只需跳過檢查iOS 9.3 & & 9.3.1,並希望在不久的將來每個人升級到iOS 9.3.2,這似乎有錯誤修復。