現在、リッチテキストエディタを利用したウェブサイトを構築しようと検討しています。
私が利用を予定しているのはquill.jsという商業利用も制限がないものになります。
HTML
1<form> 2 <div id="editor" style="height: 200px;"></div> 3 <input type="hidden" name="main" id="editor-input"> 4 <button type="submit" name="subbtn">投稿する</button> 5<form> 6 7<script> 8var editor = document.getElementById('editor'); 9var editorInput = document.getElementById('editor-input'); 10 11var quill = new Quill(editor, { 12 theme: 'snow' 13}); 14 15quill.on('text-change', function(delta, oldDelta, source) { 16 var editorHtml = editor.querySelector('.ql-editor').innerHTML; 17 editorInput.value = editorHtml; 18}); 19<script/>
上記のようにhiddenを用意してあげて、最終的にJSを使ってテキストに変更がある度に値を格納しているんのですが、その後submit
でサーバーサイドにあげる際に問題となります。もちろん<タグ>を残したままデータベースに格納することはその後出力する際にXSSのリスクに晒されるため、無害化しなければならないと考えているのですが、特に上記quillのドキュメンテーションやガイドを読む限り、サーバーにあげる場合の無害化する方法については、何らの記載がありません。
quill.js以外でも一般的にリッチテキストエディタを利用してサーバーにアップする場合には、想定されるタグを全てリストとして準備してこれを無害化・変換してアップロードする方法を自分自身で準備するのが一般的なのでしょうか?
「リッチテキストエディタ サーバーアップロード」、「quill php」など、いろいろ検索しても、これといったものが見つからなかったため、実務的にみなさまがどのように対応されているかを知りたくご質問させていただきました。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/12 08:53
2021/04/12 09:01
2021/04/12 09:16
2021/04/12 09:20
2021/04/12 09:43