JS eval安全问题
JS eval security issue
每个人都说JS中的eval()函数是坏的
实际上我是这样用的:
eval("document.getElementById('toto').value");
在我看来,即使用户在"toto"元素中发送恶意输入,这也是安全的。
你能确认一下吗?(我不想让漏洞在我的应用程序)。
首先,正如Juhana在评论中指出的那样:
eval("document.getElementById('toto').value");
只是对eval
的不必要的使用,它等于
document.getElementById('toto').value;
现在,不带引号:
eval(document.getElementById('toto').value);
…它将计算input
中带有id
"toto"的任何代码。
假设你是这个意思:
执行某人在input
中键入的代码似乎有点奇怪,但只要你对三件事满意,那就好了。这三件事是:
eval
将执行输入中的任何代码。既然用户把它放在那里,那么很有可能是好的(至少,这是一个"用户注意"的情况)。eval
启动一个完整的JavaScript解析器。现在,在现代浏览器上,这比眨眼还快,所以…eval
将在调用它的上下文中执行你给它的代码,这使它甚至可以访问该上下文中的本地变量。
"eval
是邪恶的"咒语与不必要地使用eval
有关,因为人们有时会这样做(例如,您看到eval("obj." + nameOfProperty)
),并将其用于您无法控制的内容。
相关文章:
- 关于ajax的安全问题
- AngularJs基于角色的菜单显示安全问题
- Http响应拆分安全问题的XMLHTTPRequest/Response用例的Filter实现
- 为什么我不能强制下载受污染的画布,为什么这是一个安全问题
- chrome扩展的内容安全策略问题
- 让用户通过javascript访问cookie是一个安全问题
- 使用不受信任的字符串(require.js)调用require()会引发安全问题
- Openlayers IE安全问题
- 如何应对iframe安全问题
- 使用 javascript 创建用户帐户时存在 Firebase 安全问题
- 依赖于jquery和css的html标记中的安全问题
- XMPP Strophe.JS应用程序安全问题
- 在javascript中操纵信用卡号是否会导致安全问题
- Ajax 回调断点安全问题
- 安全问题是将我的访问者带到一个危险的下载页面
- Openlayer 3 安全问题
- 将 JavaScript 变量传递给 PHP 变量的安全问题
- 读取 JS 数组的安全问题
- 防止 iframe 安全问题
- jQuery CDN 安全/不安全加载问题