7

Web ページに Flash コンポーネントが埋め込まれた PS3 ブラウザ (NetFront) をテストしてきましたが、Flash からのリクエストが発行される方法にかなり重大なバグがあるようです。ブラウザーがリファラー (リファラー) を追加しているため、Flash プレーヤーもヘッダーの重複を引き起こしています。リファラー ヘッダーが同じ場合、これは実際には問題ありませんが、そうではなく、その結果、リクエストは W2k8 の http.sys によって停止されます。機能するために Web サービスを呼び出す必要がある Flash コンポーネントがあるため、これは私にとって大きな問題です。

これらのリクエストをフィルタリングまたは許可して、途中で重複するヘッダーを削除する方法はありますか?

私たちが考えたいくつかの解決策は、次のとおりです。

  • サーバーの前にプロキシを追加して、リクエストをクリーンアップします。
  • ロードバランサーでリクエストを修正しています。これはライブ環境では機能する可能性がありますが、開発環境では機能しません。また、ロードバランサーを使用してこの操作を実行することは悪い習慣であり、運用チームは満足していません:)
  • flashvars を介して初期化中にすべてのデータをフラッシュに送信します。おそらくJavascriptを介して更新/コールバックを行っています。これは面倒で、1 つのプラットフォームにかなりのカスタム コードが必要になります。
  • ブラウザーまたは Flash がリファラー ヘッダーを送信しないようにします。これは問題ありませんが、Flash や NetFront でこれを有効にする方法はないようです。

参考までに、次のリクエストで問題が再現されます (コピーして Fiddler または他のツールに貼り付けます。IIS7、W2K8 を実行していると仮定しています)。400 Bad Request応答が得られるはずです。

GET / HTTP/1.1
ホスト: ローカルホスト
リファラー: http://localhost/NetFrontBrowser/
リファラー: http://localhost/Flash/

どうもありがとう

4

4 に答える 4

1

これらの番号を1〜4とすると、ライブ環境には2が最適ですが、開発環境がライブ環境と同様に一致しない場合は、3を実行する必要があります。ロードバランサーは基本的にリバースプロキシであるため、1番と2番は非常によく似ています。あなたが指摘したように、4番目の数字は、ソニーが使用しているブラウザとプラグインを更新するのを待たずに不可能に思えます。私の韓国製テレビはパロアルトで作られていますが、十分なコミュニケーションが取れないため、GPLに準拠するのに10か月かかりました)。

于 2009-11-18T18:12:11.930 に答える
1

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

<meta name="referrer" content="never">
于 2015-06-12T23:18:25.783 に答える
1

Windows DDK の stmedit は、「Windows フィルタリング プラットフォーム (WFP) を使用して伝送制御プロトコル (TCP) 接続の文字列パターンを置き換える方法を示しています」。

追加のハッカーを少し追加すると、最初のリファラー文字列を除くすべてをダンプできる FSM に変わります。

于 2009-12-16T17:04:39.217 に答える
1

Apache にはモジュール mod_headers があります。これで問題は解決しますが、http.sys を使用する必要がある場合は、mod_headers に相当するものを見つけようとします。おそらく誰かが mod_headers を http.sys に移植したのでしょうか?

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

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

幸運を!

于 2009-11-27T20:52:02.563 に答える