5

ときどき、非常に大きな ajax GET 要求を Java スクリプト クライアントからアプリケーション (IIS 7 を実行) に送信する必要がある状況に陥ります。URL が 2048 文字を超える場合、デフォルトで例外が発生します。これに対する簡単な回避策は、maxQueryStringLengthweb.config の使用を増やすことです。

私の質問は、この道をたどってはいけない正当な理由があるかどうか、そしてそれが実際にハッキングと見なされるかどうかです。アドレス フィールドの文字数を制限しているさまざまなブラウザについて読んだことがありますが、ajax のみを使用している場合、それは考慮に値する問題ではないでしょうか?

多くの場合、リクエストで大量のデータを渡したい場合は、代わりに POST を使用することを検討する必要がありますが、それがオプションでない場合もあります。たとえば、URL がユーザーがダウンロードするファイルを返す場合などです。

私が増やさなければならなかった場所の特定の例maxQueryStringLengthは次のとおりです。ユーザーは、ポリゴンによって制限されているマップ内のいくつかの場所を要求します。このポリゴンを URL で送信したい場合、URL の最大長を簡単に超えてしまいます。

4

3 に答える 3

3

とりわけ、それはセキュリティ対策です...

もう 1 つのポイントは、すべてのクライアント (つまりブラウザー) が 2048 を超える長さをサポートしているわけではないということです。

非常に詳細な説明については、https://stackoverflow.com/a/417184/847363を参照してください。

イントラネットの状況にあり、クライアント (ブラウザー + バージョン) とサーバーを制御している場合は、問題ない可能性があります...「野生の」アプリケーションの場合は、POST代わりに使用することを強くお勧めします。

于 2013-08-12T10:03:12.110 に答える
2

maxQueryStringLength(おそらく) DDoS/バッファ枯渇攻撃に対する保護手段として使用されています。

于 2013-08-12T09:58:39.890 に答える