使用secureEvalJson而不是evalJson的利弊

时间:2011-10-04 07:47:12

标签: jquery json

我应该何时考虑使用

secureEvalJSON Converts from JSON to Javascript, but does so while checking to see if the source is actually JSON, and not with other Javascript statements thrown in.

evalJSON Converts from JSON to Javascript, quickly, and is trivial.

你能告诉我一个例子,其中secureEvalJSON比evalJSON更有用吗?

使用secureEvalJSON的性能有何影响?

有关此API的更多详细信息,请访问:http://code.google.com/p/jquery-json/

1 个答案:

答案 0 :(得分:2)

考虑

{"test"  : "some_value",
 "test1" : "some_other_value",
 "test2" : alert("Hi, I'm code that is getting executed!")
}

简单方法将使用普通JavaScript(就好像它是一个普通的对象)来评估它,并在此过程中执行alert()命令。

安全方法(可能)将删除alert()

安全方法将是优选的,例如当您从不受信任的来源接收代码时,要阻止该源在当前用户和页面的上下文中运行代码。