Ist es möglich, Java-Apis von der Nashorn-Engine zu verstecken oder zu entfernen? So dass es nur "Standard" ECMAScript 262 Edition 5.1 mit einigen besonders exponierten Funktionen / Variablen sehen oder verwenden konnte?
Ich möchte meinen Endnutzern eine spezifische Logik für sich selbst überlassen, ohne sich Sorgen zu machen, dass sie das ganze System hacken könnten. Natürlich könnte es Sicherheitslöcher in der Nashorn-Engine geben, aber das ist das andere Thema.
Edit: Sorry, ich habe vergessen zu erwähnen, dass ich Nashorn in meiner Java-Anwendung benutze, so dass keine Kommandozeilenparameter verwendet werden können.
Programmgesteuert können Sie auch direkt die Klasse NashornScriptEngineFactory
verwenden, die über eine geeignete getScriptEngine () -Methode verfügt:
Sie können eine beliebige jjs-Option für Skript-Engines über die Option -Dnashorn.args angeben, wenn Sie Ihr Java-Programm starten. Zum Beispiel:
%Vor%wo Main javax.script API mit Nashorn-Engine verwendet.
Sie können das "jjs" -Tool mit der Option --no-java ausführen, um einen expliziten Java-Paket- / Klassenzugriff von Skripten zu verhindern. Die Nashorn-Plattform ist sicher und verwendet ein Java-Standard-URL-Codebasis-basiertes Sicherheitsmodell ('eval'ed-Skript ohne bekannte URL-Herkunft wird wie nicht vertrauenswürdiger, nicht signierter Code behandelt und erhält daher nur Sandbox-Berechtigungen.
Tags und Links javascript java nashorn