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