Wie entfernt man Java Apis von der Nashorn-Engine?

8

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.

    
pasuna 28.06.2014, 11:11
quelle

5 Antworten

6

OK, hier ist eine Beispielklasse mit einigen einschränkenden Argumenten:

%Vor%

Weitere Informationen über Flaggen finden Sie hier: Ссылка

(imho atm die Nashorn-Dokumentation ist schlecht)

    
pasuna 28.06.2014, 15:39
quelle
11

Programmgesteuert können Sie auch direkt die Klasse NashornScriptEngineFactory verwenden, die über eine geeignete getScriptEngine () -Methode verfügt:

%Vor%     
Attila Szegedi 28.06.2014 19:53
quelle
3

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.

    
A. Sundararajan 28.06.2014 13:40
quelle
1

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.

    
A. Sundararajan 28.06.2014 13:14
quelle
1

- no-java ist das Haupt-Flag, um Java-Erweiterungen zu deaktivieren. --no-syntax-extensions deaktiviert nicht standardmäßige Erweiterungen.

    
wickund 28.06.2014 13:14
quelle

Tags und Links