2

XmlTextWriter一部のデータをシリアル化して永続化するために使用しています。シリアル化するフィールドのいくつかは、ユーザー入力 (ユーザー名など) に基づいています。今日、私は のWriteElementString方法を使用しXmlTextWriterます。

私の質問は: の 2 番目のパラメーターWriteElementStringは、書き込まれるテキスト値です。書く前にサニタイズするにはどうすればよいですか?

コード例:

XmlTextWriter writer = new XmlTextWriter("filename.xml", null);

writer.WriteStartElement("User");
writer.WriteElementString("Username", inputUserName);
writer.WriteElementString("Email", inputEmail);
writer.WriteEndElement();

writer.Close();

変数inputUserNameinputEmailはユーザー入力であり、書き込む前にそれらをサニタイズ/エスケープしたいと思います。

これを達成するための最良の方法は何ですか?

4

2 に答える 2

3

そこから逃れるためには、具体的に何が必要ですか?WriteElementStringXML で必要なすべてのエスケープを既に実行します (つまり、 &-> &amp;<->&lt;など)。

于 2009-07-24T05:18:17.007 に答える
-2

これらの値を xml で実行できる最も安全なCDATAとして安全にすることができます。

事前に、RegExまたはその他の検証を介して値を確認する必要があります。

于 2009-07-24T05:22:37.653 に答える