2009-11-11 13 views
7

Webページに埋め込まれたFlashコンポーネントを使用してPS3ブラウザ(NetFront)をテストしていますが、Flashからの要求が発行される方法にかなり重大なバグがあるようです。ブラウザはリファラー(リファラー)を追加しているため、Flash Playerは重複したヘッダーを生成します。リファラーヘッダーが同じであるにもかかわらず、参照ヘッダーが同じであれば、実際にはOKです。その結果、要求はW2k8のhttp.sysによって停止されます。これは、機能するためにWebサービスを呼び出す必要があるFlashコンポーネントがあるため、私にとって大きな問題です。重複参照元ヘッダー - HTTP.sys barfs

これらの要求をフィルタリングまたは許可できる方法はありますか。重複したヘッダーを削除する可能性があります。私たちは考えますが、当社の開発やライブ環境で可能な次善のかのどちらかであるき

いくつかの解決策は以下のとおりです。

  • は、要求をきれいにするためにサーバーの前にプロキシを追加します。
  • ロードバランサで要求を修正しています。これは私たちのライブ環境では動作しますが、devでは動作しません。ロードバランサを使用してこの操作を実行することも悪いことですが、運用チームは満足できません。
  • flashvarsで初期化中にすべてのデータをFlashに送信します。おそらくJavascript経由で更新/コールバックを行っています。これは面倒であり、1つのプラットフォームに重要なカスタムコードが必要になります。
  • ブラウザまたはFlashが参照ヘッダーを送信しないようにします。これは容認できるものですが、FlashまたはNetFrontでこれを有効にする方法はないようです。

次の要求は、問題を再現します(Fiddlerや他のツールにコピーして貼り付けてください。IIS7、W2K8を実行していると仮定しています)。応答は400 Bad Requestになるはずです。

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

感謝

答えて

1

stmedit from the Windows DDK "Windows Filtering Platform(WFP)を使用した伝送制御プロトコル(TCP)接続の文字列パターンの置き換えを示します"。

少しの追加のハッカーが、最初のリファラー文字列以外のすべてをダンプできるFSMになります。

1

私はこれら1-4に番号を付ける場合は、私は3はあなたの開発環境場合の対処する必要があると思い何かあるかもしれない間、2は、ライブ環境に最適な理にかなっていると言うでしょう同様にあなたのライブ環境に一致することはできません。ロードバランサは基本的にリバースプロキシであるため、番号1と2は非常に似ています。あなたが指摘しているように、ソニーがブラウザとプラグインをアップデートするのを待たずに、ナンバー4は不可能に思えます。おそらく、ファームウェアをインストールしていて、私の韓国のテレビはパロアルトで作られており、十分にコミュニケーションできないためにGPLに従うのに10ヶ月かかりました。

1

Apacheにはmod_headersモジュールがあります。これで問題は解決しますが、http.sysを使用する必要がある場合は、mod_headersと同等のものを探すようにします。多分誰かがhttp.sysにmod_headersを移植しましたか?

また、URLの書き換えを評価します。私はこれがヘッダーでありURLではないことを知っていますが、おそらくhttp.sysのURL書き換えモジュール(存在する場合)はヘッダーについて知っています。

http.sys barfsの前に、http.sysのmod_headersまたはmod_rewriteで要求を処理できると仮定します。

幸運を祈る!

1

これをHTMLに追加すると、必要がない場合にリファラーが使用されなくなります。

<meta name="referrer" content="never"> 

回答が良い場合は投票してください。

+0

残念ながら、私はそれをテストすることはできません、問題は過去から長いですが、私は思考が好きです!残念なことに、このタグはNetFrontブラウザの後に開発されたように見えますが、このソリューションは現在の問題を抱えている他の人にとっては役に立ちます。 –