ユーザがJavaScriptを自由に実行できると嬉しいですが、中には悪意をもって実行する人たちがいます。そのためクロスドメイン、Cookieの許容範囲など制約が幾つも存在します。これらがあるために、ユーザにJavaScriptの記述を許可しないといったサイトも少なくありません。 しかし安全なJavaScriptだけであれば通しても良いのではないでしょうか。そのための仕組みがJailedです。

Jailedの使い方

デモです。左側が通常のJavaScript、右側がJailedでラッピングしています。

JailedはWeb Workersを使ってJavaScriptを実行することで画面をロックさせない仕組みになっています。また、許可していないコード(例えばalertなど)は実行できないようになっています。

危険なコードを実行しようとするとエラー。

面白いのは while(true); のようなコードを実行しても画面はロックされず、しばらく待つとエラーが出るといった仕組みになっています。実行結果を受け取るだけの仕組みなので、あまり複雑な操作(画面操作のような)は無理ですが任意のスクリプトを実行できるのは面白そうです。

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

JS console demo asvd/jailed