2012-05-10 8 views
1

私は現在、django-ckeditorを使用して、ユーザがプロファイルの豊富な説明を入力できるようにしています。django-ckeditorを使用してdjangoの悪意のあるjを避ける

しかし、XSSやその他のコードを実行しようとする悪意のあるユーザーの扉が開きます。

私はこれについて最善の方法は何だろうと思っていましたか?

私はPython HTML sanitizer/scrubber/filterを見て、例えば、色付きのテキスト、またはこれらの属性に依存する他のものは全く持ってckeditorの使用を否定され、これらのソリューションは、このような「=スタイル」などの属性を取り除くようです。

ckeditorの代わりに別のツールを使用する必要がありますか?または私は何ができますか?

私の主な目標は、自分の「プロフィール」

答えて

1

にあなたが決めると投稿できているものの「ホワイトリスト」を書くべき色付きのテキストなど、ユーザーが画像を表示できるようにすることです。その後、投稿されたデータを完全に解析し、そのホワイトリストに含まれていないものをすべてクリーンアップします。それが何らかのスタイルパーススタイル属性であり、ホワイトリストに載っているものを除いてすべてを削除します。

たとえば、古いGoodSoupで行うことができます。

確かに、<script>タグまたはonSOMETHINGハンドラをホワイトリストに入れないでください。通常、ゲインよりも痛みが増します。

関連する問題