Sto utilizzando javax.scripting
per aggiungere supporto per l'esecuzione di JavaScript JavaScript caricati dall'utente sul lato server. Ovviamente voglio proteggere quegli script!Come posso proteggere gli script con javax.scripting?
Rhino, in proprio, dispone di un framework per la protezione degli script in fase di esecuzione. La documentazione per javax.scripting
, tuttavia, non menziona la sicurezza, le autorizzazioni o le classi restrittive disponibili per lo script. Quindi questo è solo un enorme buco nell'API javax.scripting
che non offre un framework per proteggere gli script che esegue?
Non voglio utilizzare Rhino direttamente perché inizialmente l'ho provato, ma ho avuto alcuni problemi nell'esporre le istanze di Java allo script in esecuzione. Il framework javax.scripting
lo ha reso (che utilizza Rhino sotto il cofano) ha reso questi script di esecuzione banali e anche semplificati in un server multi-thread.
Desidero elencare in white list le classi Java a cui è possibile accedere/creare un'istanza all'interno dello script in esecuzione. Qualcuno può indicarmi un esempio o una documentazione su come ottenere ciò?