4

viewstate をデコードできないというエラーが表示されます。一部のエラーは、http ポスト データが正確に 48K (49152) バイトで切り捨てられたという事実を示しています。

これは、.NET 2.0 SP1 で修正されたバグの 1 つとしてリストされていました。現在、.NET 3.5 SP1 を使用しています。

この問題は、すべての投稿で発生するわけではないようです。何か案は?

KB 945757 .NET Framework 2.0 Service Pack 1 で修正される問題

KB 925248修正: ASP.NET に接続されたアプリケーションが POST 要求を受信すると、POST 要求のデータが 49,152 バイトに切り捨てられる

編集: フォームにエンコード指定を追加した後、エラー ログにこれらのエラーの 1 つが記録されました。content-type が url-encoded に適切に設定され、content-length が 49152 を超えていたことを示しています。しかし、エラー ログ内の投稿データのダンプは、再び正確に 49152 バイトでした。ページから送信ボタンを数回クリックすることで、これを再作成できました。ユーザーがこれを行ったのは、何らかの理由でページの処理が非常に遅いためだと思います (以前ははるかに高速でした)。この切り捨てが発生したのは、後続の送信である可能性があります。私の修正は、ページを再び高速にするか、最初のクリックからボタンを無効にすることです。

4

2 に答える 2

1

私は一度これに遭遇しました、そしてそれはそれを切り捨てているのはブラウザであることがわかりました!

どちらかはもう覚えていません。Firefoxだったと言いたいのですが、よくわかりません。

修正は、フォームのコンテンツタイプをに変更することでしたmultipart/form-data

于 2012-01-20T20:45:02.870 に答える
1

IIS5にこの問題があったことは知っています。フォームが として送信された場合を除いて、48Kb を超えるすべてのデータが切り捨てられます。これを好きなようapplication/x-www-form-urlencodedに設定してみてください。content-type

<form accept-charset="utf-8" 
      enctype="application/x-www-form-urlencoded" ... >

</form>

ペンテスターはこの問題を提起できます。

HTTP Smugglingも検索すると、同じ問題が見つかります。

HTTP Smuggling の詳細を読むことができます。

于 2012-01-20T20:30:25.020 に答える