`
bazhuang
  • 浏览: 149615 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

eval部分替代方法

 
阅读更多
function jsonDecode(data){
	return new Function("return "+data+";")();
}

var a = (jsonDecode("[{id:1},{id:2}]"));
alert(a[0].id);

我们现在的安全检查是不允许使用eval,认为有安全隐患,至于会产生什么隐患没有做深入了解。
所以使用上述方法去讲字符串解析为array数组。
分享到:
评论

相关推荐

    测试eval方法所以造成无法通过google closure compiler编译

    4. 分离动态和静态代码:将静态部分与可能包含`eval()`的动态部分分离,分别处理和优化。 总结来说,`eval()`在JavaScript中的使用应谨慎对待,尤其是在需要进行编译优化的场景下。尽量避免使用`eval()`,或者采用...

    eval 加密和解密

    在IT行业中,加密和解密是信息安全领域的重要组成部分,它涉及到数据保护、隐私维护以及网络安全。"eval"在编程语言中通常与代码执行有关,尤其是JavaScript和PHP等动态语言。在这里,我们将深入探讨eval函数在加密...

    ide-eval-resetter-2.1.6.zip

    试用期内,用户可以免费体验全部功能,但试用期过后,如果没有购买正式授权,部分功能将受限或完全无法使用。这就是IDE Eval Resetter插件需要解决的问题。 3. 插件系统:IntelliJ IDEA支持插件扩展,允许开发者...

    JavaScript中的eval()函数使用介绍

    由于eval()是全局作用域的一部分,它可以访问并修改当前上下文中的变量。 **eval()的返回值** - 如果eval()的参数不是一个字符串,它会直接返回该参数,不进行任何处理。例如,`eval([1,2,3])` 返回数组 `[1, 2, 3]...

    ide-eval-resetter-2.1.14.zip

    版本号中的数字部分通常遵循主版本号.次要版本号.修订版本号的格式,每个数字都代表不同的更新级别。比如,2.1.14可能意味着在2.1系列中进行了14次小的修正或改进。 5. **安装插件**:要使用IDE-Eval-Resetter,你...

    Python eval函数原理及用法解析

    Python 的 `eval` 函数是一个强大且功能丰富的内置函数,它允许我们将字符串当作代码来执行。这个函数在处理数据...理解 `eval` 的工作原理和限制是使用 Python 的关键部分,尤其是在编写涉及用户输入的应用程序时。

    eval

    有多种替代方法可以避免直接使用它,例如使用`JSON.parse()`解析JSON数据,使用函数构造器创建并执行函数,或者利用安全的沙箱环境。同时,确保代码经过严格的输入验证和编码处理,以防止XSS攻击。学习和理解这些...

    谈谈shell中的eval与crontab命令

    总的来说,`eval`和`crontab`是Shell编程中的重要组成部分,前者用于动态执行命令字符串,后者则负责自动化周期性任务。理解并熟练掌握这两个工具,将极大地提升你的Linux系统管理和自动化能力。

    JS eval代码快速解密实例解析

    在可能的情况下,尽量避免使用`eval`,或者使用更安全的替代方法,如`new Function`或模板字符串。同时,对于代码混淆,虽然能提供一定的保护,但并不能完全防止经验丰富的开发者逆向工程你的代码。因此,真正的安全...

    javascript中eval和with用法实例总结

    JavaScript中的eval和with是两个...例如,可以先通过静态代码分析工具检查是否有安全漏洞,或者考虑是否有其他更安全、更高效的替代方案。此外,始终要记得它们可能会对作用域造成的影响,确保代码的稳定性和可预测性。

    Ajax,UTF-8还是GB2312 eval 还是execScript

    【Ajax与字符编码】 在Web开发中,Ajax...同时,考虑到安全性,应该避免使用`eval`,优先选择更安全的替代方案,如`new Function`或者现代浏览器提供的`Function.prototype.toString`和`eval`的结合使用。

    JSON序列化与解析原生JS方法且IE6和chrome测试通过.docx

    为了兼容这些浏览器,我们需要使用一些替代方法。 在提供的代码示例中,展示了一个使用原生JS实现的JSON序列化和解析的方法,这个方法同时在IE6和Chrome下测试通过: ```javascript // 序列化 function toJSON(obj...

    eveal.txt

    例如,在给定的部分内容中,“`var the_evaled_answer = eval("2+3");`”这一行代码中,字符串"2+3"被`eval()`函数执行,并返回其计算结果5,最后赋值给变量`the_evaled_answer`。 #### 二、`eval()`函数的基本用法...

    8.表达式求值_python/表达式求值_

    因此,在实际应用中,如果可能,应优先考虑更安全的替代方法,如使用`ast.literal_eval()`(仅限于基本数据类型)或第三方库,如`numexpr`(针对数值计算)。 **`ast.literal_eval()`** 是另一个内置函数,它能安全...

    js 解析ajax传递过来的数据

    推荐的做法是使用 `JSON.parse()` 来替代 `eval()`: ```javascript var jsonObj = JSON.parse(data); ``` 这种方法不仅更安全,而且也更容易理解。 #### 总结 通过本文的介绍,我们可以了解到在JavaScript中...

    Python常见安全漏洞及修复方法.zip

    使用`ast.literal_eval()`替代`eval()`来解析用户输入,或者使用沙箱环境限制代码执行权限。 5. 密码管理:明文存储密码是大忌。应使用加密算法如bcrypt或scrypt,以及Python的`getpass`模块来安全地处理密码。 6....

    前端开源库-evaljson

    3. **替代方案**:虽然evaljson提供了一种解决动态JSON的方法,但也有其他更安全的替代方案,如使用模板引擎或者预编译的函数,来避免直接使用`eval()`。 4. **使用示例**:在实际项目中,你可以这样使用evaljson:...

    java项目

    因此,在实际应用中,推荐使用更安全的方法如`JSON.parse()`来替代`eval()`。 ### 四、ASP.NET中的WebMethod与JSON数据构造 在服务器端,代码片段展示了如何使用ASP.NET中的`WebMethod`属性创建一个可供Ajax调用的...

    前端开源库-loophole

    其次,如果必须使用,应确保输入数据的安全性,例如通过严格的输入验证、使用沙箱环境执行代码,或者使用安全的替代方法,如`new Function()`(尽管它也有风险)或者使用预编译的模板语言。此外,对于JSON数据,应...

    Python核心编程(第二版).pdf (压缩包分2部分,第二部分)

    第1部分 python核心  第1章 欢迎来到python世界   1.1 什么是python   1.2 起源   1.3 特点   1.3.1 高级   1.3.2 面向对象   1.3.3 可升级   1.3.4 可扩展   1.3.5 可移植性   1.3.6...

Global site tag (gtag.js) - Google Analytics