豊富なテキスト編集、埋め込まれたJavaScriptコードを防ぎます
-
01-10-2019 - |
質問
有名なSymfonyフレームワークを使用してWebサイトを作成しました。リッチな編集機能を追加したかったのです。そして、Tinymceエディターを見つけました。しかし、問題がありました:ユーザーがJavaScriptコードをコンテンツに埋め込んだのはどうですか? Alert( 'Hello World')など。
非常に有名なブログソフトウェアであるWordPressをテストしました。同じ問題に直面しています。 例.
誰かがアラートスクリプトを埋め込んだ場合、それは大したことではありません。しかし、彼らがいくつかの危険なコードを埋め込んだ場合はどうなりますか?同じ問題に遭遇しましたか? HTMLの代わりにMarkdownを使用する必要がありますか?マークダウン編集に適したウィジェットはありますか?
解決
ユーザー入力に埋め込まれたJavaScriptを許可しないでください。これは、クライアントまたはサーバーのいずれかで簡単にクリーンアウトできます。サポートするHTMLタグの「白いリスト」を持ち、許可するものからリスナーの属性を削除します。
他のヒント
既存のライブラリを使用してユーザーの入力をクリーンアウトすることをお勧めします。HTMLPurifierプロジェクト: http://htmlpurifier.org/ 維持され、よくできているようです。
所属していません StackOverflow