重复的Referrer标头 - HTTP.sys barfs

Bra*_*d R 7 flash http-referer header http ps3

我一直在网页上测试带有嵌入式Flash组件的PS3浏览器(NetFront),并且发出任何来自Flash的请求的方式似乎都存在相当严重的错误.浏览器正在添加引用者(referer),因此Flash播放器也会导致重复的标题.如果引用者标题相同,这实际上是正常的,但它们不是,因此请求由W2k8上的http.sys停止.这对我来说是一个主要问题,因为我有一个需要调用Web服务才能运行的Flash组件.

我们是否有某种方式可以过滤或允许这些请求,可能会沿途重复删除标题.

我们已经考虑过但我们的开发和实时环境不是最理想或不可能的一些解决方案是:

  • 在服务器前添加代理以清理请求.
  • 在我们的负载均衡器上修复请求.这可能适用于我们的实时环境,但不适用于开发环境.使用负载均衡器来执行此操作也是不好的做法,我们的运营团队不会高兴:)
  • 在初始化期间通过flashvars将所有数据发送到Flash.可能通过Javascript进行任何更新/回调.这感觉很乱,并且需要一个平台的重要自定义代码.
  • 阻止浏览器或Flash发送引荐来源标头.这是可以接受的,但似乎没有办法在Flash或NetFront中启用此功能.

作为参考,以下请求将重现问题(复制并粘贴到Fiddler或其他工具中,我假设您正在运行IIS7,W2K8,因为我们是).你应该得到400 Bad Request回应.

GET / HTTP/1.1
Host: localhost
Referer: http://localhost/NetFrontBrowser/
Referer: http://localhost/Flash/

非常感谢

小智 1

Windows DDK 中的 stmedit“演示使用 Windows 过滤平台 (WFP) 替换传输控制协议 (TCP) 连接的字符串模式”。

一些额外的黑客技术将其变成一个 FSM,它可以转储除第一个引用字符串之外的所有内容。