2012-01-13 41 views
11

我們使用URLReferrer和查詢字符串中傳遞的代碼來生成在線視頻,以便只有付費客戶才能鏈接到我們的視頻播放頁面。這個系統運行良好一段時間。我知道URL引用者可能被欺騙,但誰會告訴他們的客戶做這樣的事情來訪問視頻?它對我們很好。當頁面爲HTTPS時,URLReferrer爲空

但是,今天我被問到一些沒有工作的人。 URLReferrer爲空,其網站爲HTTPS。我在網上完成了一些閱讀,並且我得到的印象是,當源頁面爲https時,無法訪問URL引用鏈接。它是否正確 ?如果我製作了我們網站的https版本,是否可以解決它?或者有沒有其他辦法可以解決這個問題?

謝謝

回答

13

您的在線研究是正確的。不設置HTTP Referrer頭或等效的主要原因是這可能是一個安全問題。引用者包含「你來自哪裏」,這是私人信息,不應該暴露給其他人,如果每個人都可以追蹤你曾經去過的地方,那麼有什麼用途可以建立一個安全的網站?

因此:如果引用鏈接被加密(使用SSL或其他方式),您將無法獲得引用鏈接。


更新:這是什麼HTTP specification says about coming from a secure site

客戶不應該包含在(非安全) HTTP請求的Referer頭字段,如果引用頁用安全 協議傳輸。

正如您可能已經猜到的那樣,這種限制是無法解決的。您唯一的選擇是使用不同的驗證模型。一種這樣的方法是給你的用戶一個密鑰,並要求他們發送這個請求作爲參數。可以考慮其他幾種方法。

+0

謝謝 - 關鍵問題只是有人可以將鏈接從他們的頁面複製並使用它,這就是我們試圖避免的。因爲它是一個視頻,顯而易見的解決方案是隻允許他們將視頻嵌入到自己的頁面中,而不是鏈接到我們的播放頁面。 – cgraus 2012-01-13 21:48:44

+0

已經+1了,只是挑剔,你引用HTTP規範,而不是[HTTPS規範](http://tools.ietf.org/html/rfc2818);-) – Bruno 2012-01-13 23:06:04

+0

@布魯諾:對,我沒有給予足夠的重視。固定。 – Abel 2012-01-13 23:56:06

相關問題