在隔离的环境中使用eval()

Kosmas Papadatos

是否可以使用eval()评估JavaScript代码并确定该代码将无权访问某些对象?

例子:

(function(window, location){ eval('console.log(window, location)'); })()

上面的代码似乎无法通过引用直接访问该window对象,因为它undefined在该范围内。但是,如果另一个对象全局存在并且包含对的引用window,则可以访问该对象。

如果我添加到window, location可能包含对的引用的任何其他对象或变量window,则所评估的代码是否能够引用该window对象?

我正在尝试创建一个平台,可以在其中使用js文件上传用户应用程序,并以权限的形式提供对特定API的访问权限。

威尔史密斯

在JavaScript中,任何全局调用的函数(即不在对象上)都将其this参数设置为全局对象(在窗口浏览器中)。所以这个片段:

(function(window, lovation) { eval('(function () { console.log(this) })()'); })()

打印出当前窗口对象

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在隔离的环境中使用sbt安装Kafka

来自分类Dev

使eval()使用函数环境而不是全局环境

来自分类Dev

何时应在Angular中使用隔离范围?

来自分类Dev

在.ASPX文件中使用Eval()

来自分类Dev

在eval中使用codebehind函数

来自分类Dev

在ant中使用环境属性

来自分类Dev

AngularJS-在ngRepeat中使用隔离的指令范围

来自分类Dev

READ COMMITTED隔离级别中使用哪种锁类型?

来自分类Dev

如何在Google表格中使用REGEXTRACT隔离GCLID?

来自分类Dev

READ COMMITTED隔离级别中使用哪种锁类型?

来自分类Dev

我可以在指令隔离范围中使用'='代替'&'吗?

来自分类Dev

在SQL Server视图中使用快照隔离级别

来自分类Dev

在简单的Angular指令中使用隔离范围-@,&和=

来自分类Dev

在python中使用布尔逻辑隔离熊猫列

来自分类Dev

Dart:在隔离中使用 JsObject 和窗口 API

来自分类Dev

轻量级隔离Linux环境

来自分类Dev

隔离环境中的 Ubuntu Core

来自分类Dev

在Julia中使用eval处理varargs

来自分类Dev

AngularJS在Chrome扩展程序中使用eval

来自分类Dev

如何在程序中使用eval

来自分类Dev

在R中使用randomForest时eval()错误

来自分类Dev

在data.table中使用eval

来自分类Dev

在jQuery中使用什么代替eval

来自分类Dev

在php中使用eval时出错

来自分类Dev

在生成文件中使用eval

来自分类Dev

在Clojure中使用环境时,如何获取环境名称?

来自分类Dev

在perl脚本中使用环境变量

来自分类Dev

在正确的语言环境中使用toUpperCase

来自分类Dev

在Heroku的生产环境中使用ENV文件