Re: Java Script Interpreter - Sicherheit



rula6@xxxxxxx schrieb:

Beanshell wäre mir persönlich zu nahe an Java dran, um es als gute
Scriptsprache anzusehen.

Das würde mich nicht stören, sondern wäre vielleicht sogar ein
Vorteil, da einige der potenziellen Autoren der Skripte Java-
Entwickler sind.

Schriebst du nicht an anderer Stelle, dass es Anfänger wären? Aber Schönheit liegt im Auge des Betrachters...

Zudem wird Rhino ja bei Java 6 bereits mitgeliefert.

Das wäre enventuell das wonach ich suche. Das heißt, wenn ich Rhino
den Zugriff auf externe Objekte
verbiete bzw. entsprechend einschränke kann ich relativ bedenkenlos
externen Code intepretieren!?

Zusammen mit einem speziellen SecurityManager...

> Was passiert z.B. mit nicht terminierenden Skripten?

Dann hängt dein System.

> Kann man einigermaßen einfach verhindern,
dass dann das ganze System abstürzt?!

AFAIK nein. Du kannst versuchen, mit einem zweiten Thread den Thread, in dem du das Script ausführst, den ersten nach einer bestimmten Zeit zu beenden. Da aber Thread#stop deprecated ist weil es nicht immer funktioniert, kann ich mir vorstellen, dass es Randfälle gibt, wo du den Thread nicht gestoppt bekommst.

> Im Grunde möchte ich verhindern,
dass ein externer Benutzer auf dem System, welches das von ihm
erstellte Skript interpretiert, irgendwelchen Zugriff erhält oder in
irgendeinerweise in der Lage ist das System zu beeinflussen.

Das wird dir in dieser Allgemeinheit nicht gelingen.

Meinst du einen Parser-Generator wie ANTLR?

Ja sowas habe ich gemeint. Allerdings habe ich in diesem Bereich nicht
so viel Erfahrung. Ich hätte zwar Lust mich genauer damit zu
beschäftigen, aber ich bezweifle dass mein Chef das bezahlen möchte.

Nun, was du vorhast, ist nicht einfach... so oder so wird es ein nicht unerhelblicher Aufwand sein.

Deshalb würde ich eine existierende Sprache und einen existierenden
Interpreter wohl doch vorziehen.

Das würde ich auch, aber aus einem anderen Grund: Es ist in der Regeln einfacher, auf hoffentlich vorhandene Dokumentation zu verweisen als alles selbst zu erstelen.

--
Stefan Matthias Aust
.



Relevant Pages

  • Re: Thread Kontext bei Methodenaufrufen
    ... "MachWas" greift definitiv nicht auf irgendwelche ... Thread A und Thread B schon in der Methode "MachWas" stehen, ... Jeder Thread hat seinen eigenen Stack. ... muss der Zugriff synchronisiert werden. ...
    (microsoft.public.de.german.entwickler.dotnet.vb)
  • Re: Verstaednisfrage CCriticalSection
    ... um den gleichzeitigen Zugriff zu verhindern. ... Du kannst zB. festlegen, daß Du für einen bestimmten Zweck drei Integers, ... Deshalb wirst Du dann also eine CS vorsehen, die jeder Thread ... Visual C++-Dokumentation ...
    (microsoft.public.de.vc)
  • Re: GUI Thread
    ... die Lösung ist schlichtweg ein Implementierungsfehler, der nicht zur Laufzeit in eine Ausnahme mündete. ... Du musst den direkten Zugriff auf das Steuerelement durch das Gespann 'Control.InvokeRequired' + 'Control.Invoke'/'Control.BeginInvoke' ersetzen. ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)
  • Re: Checkboxen "verschwinden"
    ... >> zum Zugriff darauf aus dem anderen Thread. ... die dann im Hauptform angezeigt werden. ... Lade doch einfach die Assembly und dann instanziere ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)