オンラインコミュニティが広まるのにつれて、閲覧者が自由にコンテンツを作れるようになっています。自由に、とは言っても制限は必要です。XSSのような仕組みを仕込まれる可能性はありますので、サニタイズは行わなければいけません。 サニタイズの最も顕著なものはすべてのタグを許可しないというものですが、危ないものは拒否しつつ、それでも自由度は確保したいという時に使えそうなのがjSanityです。

jSanityの使い方

例えばこんなテキストがあります。

<script>alert(/xss/);</script>

<img src=x onerror=alert('xss') />

Testing script...

これをjSanityを行った上で実行すると次のようなHTMLになります。

他にも要素を使ったインジェクションのデモや…

SVGを使った手法も防ぐことができます。

シンプルなリンクを使った手法。

jSanityはMicrosoft製で、クローラーも作っている彼らの知見が十分に活かされているソフトウェアと言えるでしょう。ユーザにはなるべく自由に、しかし危ないことはできないようにしたいといった時に使えるソフトウェアです。

jSanityはJavaScript製、MIT Licenseのオープンソース・ソフトウェアです。

jSanity Demo Microsoft/JSanity