2010-12-06 81 views
2

我想知道一些視頻流媒體網站如何限制只能在特定域上播放的視頻。更一般地說,一些網站如何僅響應來自某些域的請求。是否可以在應用程序級別限制請求域?

我已經看了http://en.wikipedia.org/wiki/List_of_HTTP_header_fields,發現可能被使用的引薦領域,但據我所知,HTTP報頭是可以被欺騙(可他們?)

所以我的問題是,這可以在應用程序完成水平?就應用而言,我的意思是,例如,部署在服務器上的網絡應用程序,而不是網絡路由器的操作系統。

任何編程語言都適用於答案。我只是好奇這是如何完成的。

如果有什麼不清楚,讓我知道。或者你可以用它作爲一個機會,教我如何清楚地說明問題。

回答

1

關於IP信息HTTP標頭是有幫助的(因爲只有一小部分是假的),但不可靠。通常,Web應用程序正在使用Web框架,這使您可以輕鬆訪問這些框架。

獲得源信息的一些方法:從IP/TCP網絡棧本身

  • 起始IP地址:與它的問題是,這個服務器可見的地址必須不符合實際的客戶端地址(可能來自公司代理,匿名代理,大型ISP ......)。
  • HTTP X-Forwarded-For頭,代理都應該設置這個頭解決上述提到的問題,但它也可以僞造或許多匿名代理不設置它。
  • 除了IP源信息,您還可以使用機器識別(一些使用實例存儲本機標識符User-Agent Header。幾個網站,並將其存儲閃存餅乾裏面,這樣他們就可以重新標識一個回顧客戶端來阻止它。但是,同樣的故事:這是不可靠的,可以僞造

源問題是,你需要很多的安全的複雜性,以安全地識別客戶端(例如,通過身份驗證和基於客戶端的證書),但是,這是很高的努力,並增加了。很多可用性問題,所以很多網站不這樣做。大多數情況下,這不是一個問題,因爲只有客戶的一小部分是把一些大腦假冒接入服務器。

HTTP Referer是一個不同的東西:它顯示了你從哪一頁來的用戶。它包含在瀏覽器中。這也是不可靠的,因爲內容可能會損壞,有些客戶端根本不包括它(我記得幾個IE瀏覽器版本跳過Referer)。

0

這些類型的控件基於始發IP地址。從IP地址可以確定該國家。找出IP地址需要訪問低級協議信息(例如來自套接字)。

引薦頭讓當你點擊一個鏈接從一個網站到另一個意義上說,但有一個編程庫建立了一個典型的HTTP請求並不需要包括這一點。

相關問題