Verwendung von eval () in einer isolierten Umgebung

9

Ist es möglich, eval() zu verwenden, um JavaScript-Code zu bewerten und sicher zu sein, dass dieser Code keinen Zugriff auf bestimmte Objekte hat?

Beispiel:

%Vor%

Der obige Code scheint keinen direkten Zugriff durch Verweis auf das window -Objekt zu haben, da es undefined in diesem Bereich ist. Wenn jedoch ein anderes Objekt global existiert und es einen Verweis auf window enthält, wäre es zugänglich.

Wenn ich zu window, location ein beliebiges anderes Objekt oder eine andere Variable hinzufüge, die möglicherweise einen Verweis auf window enthalten, kann der ausgewertete Code jemals auf das Objekt window verweisen?

Ich versuche, eine Plattform zu erstellen, auf der Benutzer-Apps mit js-Dateien hochgeladen werden können und der Zugriff auf bestimmte APIs in Form von Berechtigungen erfolgt.

    
Kosmas Papadatos 26.05.2015, 14:28
quelle

1 Antwort

2

In JavaScript wird für jede global aufgerufene Funktion (d. h. nicht für ein Objekt) der Parameter this auf das globale Objekt gesetzt (in einem Browserfenster). Also dieses Schnipsel:

%Vor%

druckt das aktuelle Fensterobjekt

aus     
Will Smith 26.05.2015, 14:36
quelle

Tags und Links