【发布时间】:2014-10-02 13:03:28
【问题描述】:
我通过将请求传递给通用处理程序并使用从此处获取的代码来保护我网站上的 MP4 文件免受盗链:VideoStreamer Iphone/Ipad。 MP4 文件的 URL 对于每个会话都是动态的,由通用处理程序在 MP4 流式传输给访问者之前对其进行验证。
它似乎对桌面浏览器很有效,但是在我的 Android 上测试时,我无法播放视频。可能值得注意的是,我正在将我的通用处理程序路由到诸如 http://example.com/myroute/dynamicfilename.mp4 之类的路由,并在我的 web.config 中使用处理程序来处理对 .mp4 文件的所有请求。
如果没有路由,则可以使用相同的代码在 Android 手机上播放。因此,我怀疑这与路线有关。也许我正在处理 MP4 文件扩展名?
有什么想法吗?是否有其他/更好/推荐的方法来执行此操作(可能使用context.rewrite?)或IIS中类似于httpd mod_secdownload的其他方法?
【问题讨论】:
-
处理程序是否返回 video/mp4 作为内容类型?
-
是的,它正在返回视频/mp4
-
你能嗅探一下来自 Android 设备的工作和不工作 HTTP 请求的线路,看看有什么区别吗?
-
是的,我确实嗅探了数据包,发现我的通用处理程序在几个请求左右后开始提供 404。