2011-12-27 6 views
1

パラメータを持つURLを含む項目を含むxmlファイルがあります。このパラメータは別のページで使用され、Request.QueryString()からアクセスされます。ASp.Net 2.0のXMLファイルからの入力から危険な文字をフィルタリングする方法C#?

AppScanを実行すると、危険であり、ユーザーの入力から危険な文字をフィルタする必要があることが分かりました。これどうやってするの? URLとxmlファイルの項目の例:

<item Text="Test" navigate="Test.aspx?Param=TestList" /> 

または

<item Text="Test1" navigate="Test1.aspx?Param=TestList;age=5;weight=9" /> 

任意のヘルプ?

+0

xml項目の例:または user1118068

+1

http://stackoverflow.com/editing-help#code – SLaks

+3

なぜ特殊文字を削除しますか?代わりにそれらをエスケープする(そして/またはパラメータを使用する)必要があります。 – SLaks

答えて

0

あなたのXMLがあなた(サイト所有者)によって制御されていて、ユーザーがそれを変更することができない場合は、XMLにスクリプトを入れないでください。

実際の問題は、Test.aspxなどのページがレンダリングされたクエリパラメータがエスケープされていない(または間違ってエスケープされている)ようです。ユーザー(ハッカー)があなたのサイトへのURLを入力できるように、このページを修正する必要があります。

一般に、XSS予防についてお読みください。どのクエリパラメータが受け入れることができるかという非常に厳格なリストを持つことは、最も単純な修正の1つです(つまり、「年齢」は整数でなければなりません)。

関連する問題