javax.scripting
を使用して、任意のユーザーがアップロードしたJavaScriptをサーバー側で実行するためのサポートを追加しています。明らかに、私はそれらのスクリプトを保護したい!javax.scriptingを使用してスクリプトを実行する方法を教えてください。
Rhinoは、独自のもので、実行時にスクリプトを保護するためのフレームワークを備えています。ただし、javax.scripting
のドキュメントには、セキュリティ、アクセス許可、またはスクリプトで使用できるクラスの制限については言及されていません。これはjavax.scripting
APIの巨大な穴で、実行するスクリプトを保護するためのフレームワークを提供していないのですか?
私はもともとRhinoを試してみましたが、実行中のスクリプトにJavaインスタンスを公開する際に問題が発生したため、Rhinoを直接使用したくありません。 javax.scripting
フレームワーク(これはRhinoを使っています)は、これを些細なものにして、マルチスレッドサーバで簡単に実行するスクリプトを作成しました。
私は実行中のスクリプト内でアクセス/インスタンス化できるJavaクラスをホワイトリストに載せたいと思います。誰かがこれを達成するための例やドキュメントを教えてくれますか?