0

上級プロジェクトの開発で AntiXss ライブラリを使用するよう講師から依頼されたので、Web 上のリソースが不足しているため、このライブラリを使用するのに多くの困難に直面しています。私のプロジェクトの一部には、ユーザーがファイルをアップロードできるアップロードファイル機能があり、ファイルをアップロードした後、同じページにリダイレクトされて他の情報が表示されます。すべて正常に動作しますが、AntiXss ライブラリを追加して次の行のみで使用すると、このエラーが発生しました

(HTTP 400 エラー - 不正な要求)

理由はわかりません。このエラーが発生する理由を誰かに教えてもらえますか? そして、それを修正する方法は?

C# コード:

Response.Redirect(Encoder.HtmlFormUrlEncode(Request.Url.PathAndQuery));
4

2 に答える 2

0

コードを分割して、各ステップを確認します。

  • 着信リクエストのURLを取得し、パスとクエリを抽出します。
  • フォームベースのエンコーダーを介して実行します
  • その文字列にリダイレクトする

XSS攻撃を防ぐために、フォームベースのエンコーダーは何をするだろうと思いますか?

これを試して:

Response.Write(Encoder.HtmlFormUrlEncode("http://www.stackoverflow.com"));

何が書かれていますか?これをWebブラウザーに入れてみると、400(または502)エラーが発生する可能性があります。

于 2013-03-23T04:16:11.377 に答える