HTML5ゲーム用のオンラインアラケードを設計しています。ユーザーは、ゲームを含むzipファイルをアップロードできます。
アップロード時に、zipはサーバーによって解凍され、各ファイルはループされて、ホワイトリストに対して拡張子をチェックします。
- .html
- .js
- .png
- .jpg
- .appcache
- .m4a
- .ogg
(ゲームは、それらのファイルをエクスポートするゲームエディターで作成する必要があります)。これにより、人々がzipやサーバー側のスクリプトファイルなどをアップロードするのを防ぐことができます。
その後、ゲームは静的なcookielessドメイン(scirra.net)に移動されます。ゲームがscirra.comページでプレイされると、ゲームはscirra.netドメインを指すiframeに表示されます。これにより、悪意のあるJSがscirra.comCookieにアクセスするのを防ぐことができます。
このiframeテクニックとホワイトリストは、悪意のある行為が行われるのを防ぐのに十分包括的なものですか?各JSファイルを実際にスクリーニングすることはできないため、悪意のあるJSをアップロードしようとしていると想定する必要があります。