• このエントリーをはてなブックマークに追加
JavaScriptを安全に。業務で使えるオープンソース(128)「JavaScript実行環境」
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

JavaScriptを安全に。業務で使えるオープンソース(128)「JavaScript実行環境」

2014-09-12 08:24

    今回はユーザが作成するJavaScriptを安全に実行するための手法、ソフトウェアを紹介します。昔はHTMLがダメ、とされていた中で徐々に使えるタグを広げていったり、Markdownを使うことで自由度を広げる傾向があります。同じようにJavaScriptもユーザが自由に記述、実行できるようになっていくのではないでしょうか。

    別ドメイン

    一番多いと思われるのが別ドメインによるJavaScript実行です。例えばjsdo.itの場合、各JavaScriptはjsrun.itというドメイン以下で実行されています。そこではCookieを発行したりすることもないため、不用意な漏洩を防ぐことができます。

    iframe

    iframeを使うことで親フレームと子フレーム間で情報をフィルタリングできます。ドメインを分けることで、フレーム間で情報をやり取りしたりJavaScriptで操作することはできなくなります。Facebookなどのソーシャルボタンで使われている方法です。なおスタイルシートは子フレームのデザイン変更に使えます。

    パース

    JavaScriptが安全であるか否か、テキストレベルでパースすることでチェックは可能です。悪意をもったスクリプトは大抵難読化されていたり、暗号化した上で配信されているので問題がないと判断するのは技術的に相当難しいと思われます。

    サンドボックス

    iframeなどと似ていますが、最近はこの手の手法が増えてきたように思います。実行環境を万一問題があるコードでも大丈夫なようにラッピングして実行します。iPhoneなどもそうですし、Dockerも環境をラッピングすることで安全な実行を可能にしています。

    独自構文/DSL

    提供する機能を限定するのであれば独自の構文を使ったり、DSLで提供してマクロとして動かすと言った方法も考えられます。パースに似ていますが、使える機能を限定することで安心して実行できるのではないでしょうか。

     
    この記事は有料です。記事を購読すると、続きをお読みいただけます。
    ニコニコポイントで購入

    続きを読みたい方は、ニコニコポイントで記事を購入できます。

    入会して購読

    この記事は過去記事の為、今入会しても読めません。ニコニコポイントでご購入下さい。

    コメントを書く
    コメントをするにはログインして下さい。