0

Wi-Fi 経由で Web サービスにリクエストを行うと、すべてが正常に機能しますが、WAP 接続を持つ GPRS で行った場合も同じです (接続を強制的に WAP にすることはしませんでした。これはキャリアに依存する可能性があります。テストはアルゼンチンで行われました)。 Content-Type と Content-Length の両方で重複した値を受け取っています。

以下は、最初に WiFi 経由で、2 番目に GPRS 経由でサーバーに記録された同じ要求です。

WiFi経由:

POST /ODP/Services.asmx HTTP/1.1 
User-Agent: kSOAP/2.0 
SOAPAction: http://temphost.org/RetrieveConfiguration 
Content-Type: text/xml 
Connection: close 
Content-Length: 464 
Host: temp.host.com 
Accept-Encoding: gzip 

GPRS 経由:

POST /ODP/Services.asmx HTTP/1.1 
Accept-Encoding: deflate, gzip, identity 
Content-Length: 464, 464 
Content-Type: text/xml, text/xml 
Host: temp.host.com 
SOAPAction: http://temphost.org/RetrieveConfiguration 
User-Agent: kSOAP/2.0 
X-WAP-WTLSEncryptiontype: NONE 
X-WAP-Bearerinfo: W-HTTPS=FALSE, bearertype=0 
Via: W-HTTP/1.1 wgw-fe6 EMIG 5.1 
x-msisdn: <User Phone number> 
x-up-calling-line-id: <User Phone number> 
x-technology-stack: Unknown 
TE: trailers 
Connection: TE 

Content-Type & Content-Length ヘッダーのリクエストで、複数の値がどのように、どこに追加されているのか理解できません。

WAP 接続の何が問題なのか、または WAP への要求を変更しているときにキャリア側で追加されているのか、誰かが教えてくれますか?

4

2 に答える 2

2

拡張のために POST が切り捨てられ、複数のパケットが必要な場合、content-length フィールドと content-type フィールドが重複します。

WGW は、コンマで区切られた複数の値を含む 1 つのヘッダーにそれらをマージすることで、この状況を解決します。問題は、複数の値を含むこのヘッダーが HTTP 411 エラー コードを生成することです。

最新の RFC ドラフトに基づいて、このトラフィックはエラー コード 502 で破棄する必要がありますが、このトランザクションの進行を維持するためにヘッダーをマージするのではなく、ヘッダーの 1 つを削除することを意図したいくつかの回避策が可能です。

于 2012-12-05T15:11:06.870 に答える
2

悲しいことに、クライアント側 (顧客/電話/ブラウザー) で行うことは何もありませんが、ソリューションへのアプローチを取得するためのシナリオがいくつかあります。Web 開発者 (VASP 側) の場合、POST が複数のパケットを必要とするのを防ぐために、URL/URI のサイズに注意する必要があります。あなたが Web サーバー マネージャー (VASP/Telco 側) である場合は、これらの特定のヘッダーに対して複数の値を受け入れるように定義できます (等しい場合)。このシナリオでは、サーバーを下に置くことに注意する必要があります。 HTTP 応答分割攻撃のリスク。あなたがプロキシ管理者 (Telco 側) である場合、余分なヘッダーを複数の値を含む 1 つのヘッダーにマージするのではなく、それらを破棄するように GW を調整できますが、このシナリオでは、RFC の推奨事項から外れることに注意する必要があります。 .

于 2012-12-06T12:43:21.493 に答える