Reactで安全にMarkdownをHTMLレンダリングする

ユーザー入力値をMarkdownとして受取り、HTMLとしてレンダリングしたい場面は少なくない。 当然ながらHTMLとして出力するため、onerrorやhref属性などは適切にサニタイズしなければならない。 import React, { Component } from 'react'; import marked from 'marked'; import Pr...

最近のJavaScriptフレームワークでのXSS

所謂、最近流行っているJavaScriptフレームワークでのXSSの例をいくつか挙げようと思う。 最近のJavaScriptフレームワークは賢いので、データをバインドする際にHTMLエスケープしてくれてXSSから保護してくれる。 しかしながら、保護が適用されないケースもあるため、過度にフレームワークに信頼しているとXSSを作り込んでしまう。 ここではReactとVue.jsでその例をいくつか挙げよ...