あなたの質問は尋ねます:
「編集:私がそれを行う主な理由は、彼らに独自のjavascriptを使用させ、独自のcssとdivを持たせ、出力に何を持たせないかです」.
ユーザーが任意の JavaScript を提供できるようにすると、入力のサニタイズは無駄になります。クロスサイト スクリプティング (XSS) の定義は、基本的に「ユーザーは JavaScript を提供でき、一部のユーザーは悪い」です。
現在、一部の Web サイトでは、ユーザーが JavaScript を提供することを許可しており、次の 2 つの方法のいずれかでリスクを軽減しています。
- 個々のユーザーの CMS を別のドメインでホストします。Blogger と Tumblr (例: myblog. blogspot .com と blogger.com) は、ユーザーのテンプレートが他のユーザーの Cookie を盗むのを防ぐためにこれを行います。自分が何をしているのかを理解し、ルート ドメインでユーザー コンテンツをホストしないようにする必要があります。
- ユーザー コンテンツがユーザー間で共有されない場合、悪意のあるユーザーがどのようなスクリプトを提供しても問題ありません。ただし、CMS は共有に関するものなので、これはおそらくここには当てはまりません。
機能する可能性のあるブラックリスト フィルターがいくつかありますが、それらは今日しか機能しません。HTML 仕様とブラウザーは定期的に変更されるため、フィルターを維持することはほとんど不可能です。ブラックリストへの登録は、セキュリティと機能の両方の問題を確実に引き起こす方法です。
ユーザーデータを扱うときは、常に信頼できないものとして扱ってください。製品の早い段階でこれに対処せず、シナリオが変更された場合、ユーザーを動揺させずに XSS を防止するために戻ってすべての XSS ポイントを見つけたり、製品を変更したりすることはほとんど不可能です。