2013-02-16 79 views
2

我们服务器上的Apache配置为阻止字节范围(CVE 2011-3192)。但它使我们有我们的服务器不玩如Safari的新版本上和Chrome要求他们以字节为单位,但服务器会将整个内容的音频。Apache字节范围和音频文件

任何指针赞赏。

回答

3

与其完全阻止Range标头,您可以尝试设置apache以仅在发出太多请求时阻止范围标头。来自Apache Wiki:

使用SetEnvIf或mod_rewrite检测大量范围,然后 忽略Range:标头或拒绝请求。

选项1:(Apache 2.2的,需要mod_setenvif mod_headers中和)

 # Drop the Range header when more than 5 ranges. 
     # CVE-2011-3192 
     SetEnvIf Range (?:,.*?){5,5} bad-range=1 
     RequestHeader unset Range env=bad-range 

     # We always drop Request-Range; as this is a legacy 
     # dating back to MSIE3 and Netscape 2 and 3. 
     # 
     RequestHeader unset Request-Range 

     # optional logging. 
     CustomLog logs/range-CVE-2011-3192.log common env=bad-range 

数字5是任意的。几个10的不应该是一个问题,可能需要针对例如服务PDF文件到非常高端的电子阅读器 或使用的东西,这种复杂的基于HTTP视频流媒体网站 。