1

JavaScriptテキストエディタで書かれたHTMLテキスト入力をデータベースに保存するのは安全で慣習的ですか?

ユーザーがアプリケーションに記事を入力するために ckeditor を使用しているとします。記事は、クライアント側から見るときれいに見えますが、データベースから照会すると、乱雑すぎます。

たとえば、テキスト本文は次のように格納されます。

<p class="MsoListParagraph" style="margin-left:56.0pt;mso-para-margin-left:0gd;
text-indent:-18.0pt;mso-list:l3 level1 lfo1"><!--[if !supportLists]--><span lang="EN-US" style="font-size: 12pt; font-family: 'Times New Roman';">-<span style="font-size: 12pt; line-height: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><!--[endif]--><span lang="EN-US" style="font-size: 12pt; font-family: 'Times New Roman';">Natural selection is a process that individuals
have some heritable characteristics to survive and reproduce at a higher rate
compare to other individuals. Natural selection increases the match between
organisms and environments. Furthermore, as an environment changes or
individuals move to a new place, natural selection may effect of adaptation to
these new conditions by giving rise to new species in the process. Natural
selection can only increase or decrease heritable traits.&nbsp; <u><o:p></o:p></u></span></p>

体は次のようにレンダリングされます@article.body.html_safe

この問題を処理するより良い方法はありますか?

4

1 に答える 1

0

データベースがテキストの内部を知る必要がない場合は、このように保存して、不透明なブロブとして効果的に処理しても問題ありません。

より大きな問題は、誰かがアイテムを表示するときの Web ブラウザーのセキュリティです。入力の検証には注意が必要です。そうしないと、誰かがドキュメントに JavaScript を少し保存し、記事を表示しているユーザーのブラウザでその JavaScript が実行される可能性があります。

ここにあるような回答を参照してください:タグのフィルタリング

于 2013-02-03T02:27:35.820 に答える