XSS対策【Vue.js】
XSS(クロスサイトスクリプティング)はVue.jsでも起きうるため、対策が必要です。
クロスサイトスクリプティング(英: cross site scripting)とは、Webアプリケーションの脆弱性[1]もしくはそれを利用した攻撃。*1
XSS対策をしていない場合、例えば、悪意を持ったユーザーが入力する内容により、
アプリケーションの処理が異常なまでに増えて停止してしまう恐れがあります。
下記2通りの対策がありますが、
* ユーザーが入力する箇所ではscriptタグなどを使用できないようにする
* ユーザーが入力した内容を表示する場合に、サニタイズ(特殊文字を一般的な文字列に変換する処理のこと)する
サニタイズが簡単です。
ライブラリsanitize-htmlを用いてVue.prototypeに登録すると、次のように記述できます。
v-html='$sanitize(topic.content_html)'