1

私は現在django-ckeditor、ユーザーがプロファイルの詳細な説明を入力できるようにするために使用しています。

ただし、これにより、XSS やその他のコード インジェクションを実行しようとする悪意のあるユーザーへの扉が開かれます。

これについてどうするのが最善の方法でしょうか?

Python HTML サニタイザー / スクラバー / フィルターを見ましたが、これらのソリューションckeditorは、たとえば、色付きのテキストやこれらに依存するその他のものを持つための使用法と完全に矛盾する「style =」などの属性を取り除くようです属性。

の代わりに別のツールを使用する必要がありckeditorますか? または、どうすればよいですか?

私の主な目標は、ユーザーが「プロフィール」に写真や色付きのテキストなどを表示できるようにすることです

4

1 に答える 1

1

投稿を許可する内容の「ホワイトリスト」を決定して作成する必要があります。次に、投稿されたデータを徹底的に解析し、そのホワイトリストにないものをすべてクリーンアップします。それが何らかのスタイルである場合-スタイル属性を解析し、ホワイトリストに登録されているものを除くすべてを削除します。

たとえば、古き良きBeautifulSoupでそれを行うことができます。

<script>確かに、タグやハンドラーをホワイトリストに登録しないでくださいonSOMETHING。通常、それらは利益よりも多くの苦痛をもたらします。

于 2012-05-11T06:08:55.733 に答える