ユーザが異なる言語でコードを提出できるようにするいくつかのウェブサイト(oneなど)があり、システムはそれらのテストケースをコンパイルして実行します。開発者として、私は彼らがどのようにこれを行い、どのように複数の言語(PHP、Python、C、.NET、javascript)をサポートしているのか不思議です。コードを動的にコンパイルして実行するには?
送信されたコードが悪意のあるため、コードを実行する環境が危険にさらされる可能性はありますか?
ありがとうございました。
ユーザが異なる言語でコードを提出できるようにするいくつかのウェブサイト(oneなど)があり、システムはそれらのテストケースをコンパイルして実行します。開発者として、私は彼らがどのようにこれを行い、どのように複数の言語(PHP、Python、C、.NET、javascript)をサポートしているのか不思議です。コードを動的にコンパイルして実行するには?
送信されたコードが悪意のあるため、コードを実行する環境が危険にさらされる可能性はありますか?
ありがとうございました。
これはどうやって彼らがどのように複数の言語(PHP、Python、C、.NET、javascript)をサポートしているのか不思議です。
シンプル:複数の言語インストールがインストールされており、指定された入力に対して正しいものが呼び出されます(これはもちろんユーザーによって与えられます)。
送信されたコードが悪意のあるため、コードを実行する環境が危険にさらされる可能性はありますか?
はい、もちろんです。しかし、無数の潜在的な対策があります。特定の時間後にプロセスを強制終了し、潜在的に危険な機能へのアクセスを阻止するなど、さまざまな形でプロセスをサンドボックス化します。これを実行する実際のサイトが何を話しているかについてはCodepad's about pageを参照してください。
Windows環境でサンドボックスを作成する方法はありますか? – Nick
私の頭の上から、VirtualBoxやVM Wareのような仮想マシンソリューションを考えることができます.Googleはこれをサンドボックス+ウィンドウの最初のリンクとして見つけました - http://downloadsquad.switched.com/2009/03/11/five -sandboxing-apps-to-protect-your-windows-computer / – arunkumar