2016-04-06 5 views
1

は、そのようなヘッダに以下のように添付XFFヘッダーとして重複した値を有するHTTPリクエスト・ヘッダーが存在するであろう: x-forwarded-for: *.*.*.* x-forwarded-for: *.*.*.* ノードのリクエストから重複したhttpヘッダーを解析しますか?いくつかの特別なケースで

およびNPMパッケージExpressと要求を使用することによって、我々は、重複するヘッダーを解析できました次のコードで? req.headers['x-forwarded-for']

答えて

0

重複HTTPヘッダ は、カンマ区切りのリストに統合されますので、あなたの例では、

'x-forwarded-for': '1.2.3.4' 
'x-forwarded-for': '5.6.7.8' 

は、これは、利用可能なHTTPのRFC2616 hereごとに行われる

'x-forwarded-for': '1.2.3.4, 5.6.7.8' 

になります。

複数のメッセージヘッダーフィールドとsamそのヘッダのフィールド値全体がコンマで区切られたリスト[すなわち#(値)]として定義されている場合に限り、フィールド名はメッセージ内に となることがあります。 メッセージのセマンティクスを変更することなく複数のヘッダーフィールドを1つの "フィールド名:フィールド値"ペアに結合することが可能でなければならない(MUST)。 コンマ。同じ フィールド名を持つヘッダフィールドが受信される順序は、結合フィールド値の解釈 することが重要であり、メッセージが転送されるとき、したがって、プロキシは、これらのフィールド値の 順序を変更してはいけません

Hereノードに関連する問題があります。

+0

いや、私はcurlコマンドで試してみましたが、xffヘッダーを組み合わせました。しかし、一部のプロキシサーバーでは、この組み合わせが実行されない場合があります。そのようなケースが起こった場合、Nodeはこれをどのように処理しますか? – zhongfugao

+0

@ zhongfugaoわからない "この組み合わせを実行しない"ということは何を意味するのか理解しています。通常は、最初に複数のXFFヘッダーを持つべきではありません。プロキシーは新しいIPヘッダーを設定するのではなく、IPをXFFヘッダーリストに追加する必要があります。 – Petr

+0

私はあなたのポイントを参照してください!私は今日、これを確認するためにいくつかのプロキシサーバーを試してみます。前もって感謝します! – zhongfugao

関連する問題