すでにご存知のとおり、XSS攻撃は危険であり、非常に簡単に実行できます。ASP.NET MVCのように、さまざまなフレームワークによりHTMLを簡単にエンコードできます。
<%= Html.Encode("string"); %>
しかし、クライアントがMicrosoft Word文書からコンテンツを直接アップロードできることを要求するとどうなりますか?
シナリオは次のとおりです。人々はMicrosoft WordからWYSIWYGエディター(この場合はtinyMCE)にコンテンツをコピーして貼り付け、その情報をWebページに投稿できます。
Webサイトは公開されていますが、その組織のメンバーのみがWebページに情報を投稿するアクセス権を持ちます。
これらの要件を安全に処理するにはどうすればよいですか?現在、クライアントが投稿した内容のチェックは行われていません(「信頼できる」ユーザーのみが投稿できるため)が、これには特に満足しておらず、アカウントがハッキングされた場合にさらにロックダウンしたいと思います。
これらの要件を満たすことがわかっている唯一の概念的な方法は、HTMLタグをホワイトリストに登録し、それらを通過させることです。別の方法はありますか?そうでない場合、ユーザーが任意の形式でデータベースに入力を保存できるようにする安全な方法は何ですか?