2014-10-02 32 views
1

我通過將請求傳遞給通用處理程序並使用代碼取自這裏:VideoStreamer Iphone/Ipad來保護我的網站上的MP4文件免受盜鏈。 MP4文件的URL對於每個會話都是動態的,在將MP4流式傳輸給訪問者之前,由通用處理程序進行驗證。對於ASP.NET或IIS的MP4熱鏈接保護

它似乎適用於桌面瀏覽器,但在Android上測試時,我無法播放視頻。值得注意的是,我使用web.config中的處理程序將我的通用處理程序路由到諸如http://example.com/myroute/dynamicfilename.mp4之類的路徑,以處理對.mp4文件的所有請求。

沒有路由,播放在Android手機上使用相同的代碼。因此,我懷疑這與路線有關。也許我正在處理MP4文件擴展名?

有什麼想法?有沒有其他/更好/推薦的方式來做到這一點(也許使用context.rewrite?)或在IIS中的其他一些方法是類似於httpd mod_secdownload

+0

處理程序是否將視頻/ mp4作爲內容類型返回? – 2014-10-02 14:27:00

+0

是的,它是返回視頻/ mp4 – Zishan 2014-10-02 14:54:23

+0

你可以嗅探工作的線路,而不是從Android設備工作的HTTP請求,看看有什麼不同嗎? – Rup 2014-10-02 16:08:04

回答

0

事實證明,Android(也可能是iOS)視頻播放器應用程序在某些時候停止使用瀏覽器傳遞的會話。因此,使用會話的第一個請求是有效的,而視頻播放器應用的第二個請求收到404,因爲我的通用處理程序無法驗證動態生成的URL。這裏沒有解決方案,但是如果有人在將來會陷入類似的困惑,這可能會有所幫助。