にHTMLエンコードを追加:はこのように... Webページへのユーザー入力を追加する場合、(それが当然のHTMLでない限りは:) XSS攻撃などを防ぐためにエンコードする必要があり、ビジネス層
litForename.Text = HttpUtility.HtmlEncode(MyUser.Forename);
私は私のビジネスロジック層を生成するためのテンプレートをまとめています。データがデータベースから出てすぐに、それがUIコードに到達する前にすべてのエンコーディングを行うことを考えています。これにより、すべてがエンコードされていることが保証されます(Xhtml/Xml文字列を含む列は除外されます)。データ・アクセス・メソッドのオーバーロードは、(それを編集することができます)、エンコーディングを持たないデータの検索が可能になります:
// Get a 'User' entity with all the string fields HTML encoded
BLL.Users.GetById(int userId)
// Get a 'User' entity with optional HTML encoding
BLL.Users.GetById(int userId, bool useHtmlEncoding)
が、これは誰が使用する、またはそれがダム考えであることをアプローチですか?長所と短所は何ですか?
ありがとうございました。
私は同意します - 健全性チェックのおかげで。 – Nick