我们服务器上的Apache配置为阻止字节范围(CVE 2011-3192)。但它使我们服务器上的音频无法播放,因为较新版本的Safari和Chrome会在字节中请求它们,但服务器会发送整个内容。
任何指针都表示赞赏。
答案 0 :(得分:3)
如果发出的请求太多,您可以尝试将apache设置为仅阻止范围标头,而不是完全阻止Range标头。来自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的视频流。