1

ASP.NET で作成されたさまざまな Web サイトで 400 Bad Request エラーが発生することがあります。

私が知っている唯一の解決策は、そのサイトの Cookie をクリーンアップすることです。問題の原因は、Google アナリティクスに属する _utmz および _utma Cookie にあるようです。この問題は、Mozilla FireFox で一般的に発生します。Ghrome や Safari では発生することがありますが、IE では発生しません。このエラーは偶発的に発生します。

私が見つけたもの:

ASP.Net チームの Stefan から: http://forums.asp.net/p/1431148/3221542.aspx

ASP.NET の現在のバージョンでは、コロン文字などの文字を含む URL は潜在的なセキュリティ上の脅威として拒否されます。この歴史的な理由は、基になる NTFS ファイル システムが、"yourfile.txt:hiddendata.txt" のような名前でアクセスできる代替リソース ストリームをサポートしているためです。URL からコロン文字をブロックすることで、適切に作成されていないアプリケーションが別のリソース ストリームを誤って操作することを防ぎます。

ASP.NET の現在のバージョンには、管理された構成データを決定するために受信 URL を NTFS ファイル システムにマップする必要があるという制限もあります。

ASP.NET 4 では、これらの制限をオプションで削除できます。ただし、これらの変更は ASP.NET 4 の Beta 2 バージョンにあり、Beta 1 にはありません。このフォーラムの投稿で以前にリストされた URL を試し、ASP.NET 4 の内部ビルドでそのスタイルを使用できることを確認しました。の URL を取得し、400 エラーなしで処理します。

ASP.NET ランタイム、FireFox または Google Analytics コードの Cookie 管理プロセスに問題がありますか? どのような問題の解決策を知っていますか?

4

1 に答える 1

1

問題は、Firefox が Cookie 内の特殊文字を処理する方法にあります。asp.net とは何の関係もありません。使用している言語に関係なく、エラーが発生します。

この問題は、Google アナリティクス キャンペーン ソースで最も頻繁に発生するようです。これらの値を英字に保つようにしてください。

個人的には、人々がクエリ文字列でアポストロフィと mDash を使用していた問題を修正する必要がありました。その結果、ハイフンとアポストロフィを一緒に使用しないように人々に伝えています。それらを含めたのがあなたでない場合は、ブラウザーが処理できない特殊文字をコピーしたのではないことを確認できません。

このフォーラムには、サイトに適切にアクセスできるように、400 ページの不良 Cookie を消去するための提案があります。

stackoverflow には、同じ問題に関する別の質問が既にあります。

キャンペーン ソースなどを設定する前に、特殊文字が含まれていないことを確認する必要があります。積極的にフォーマットされていない場合、CMS ニュースレターなどを通じて動的に作成されるソースには、不適切な文字が含まれる可能性があります。MSOffice の文字をタイトルやリンクに貼り付けると、Cookie が壊れてページが表示されなくなるという問題が発生しました。

不正なデータを GA に送信して Cookie を破損させないようにする以外に、この問題の解決策はありません。

于 2012-02-03T03:15:02.260 に答える