主页 > 编程资料 > Javascript >
发布时间:2014-09-05 作者:apizl 阅读:441次
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head>     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />     <title></title>     <script src="jquery-1.9.1.js"></script>       <script>         $(function () {             var json = '{"url":"http://bbs.moxun.pw","title":"测试"}';               var dt = eval("(" + json + ")");               var html = "<a href='" + dt.url + "'>" + dt.title + "</a>";               $("#test").html(html);         })     </script> </head> <body>     <div id="test"></div> </body> </html>

使用js函数eval();

testJson=eval(testJson);是错误的转换方式。

正确的转换方式需要加(): testJson = eval("(" + testJson + ")");

eval()的速度非常快,但是他可以编译以及执行任何javaScript程序,所以会存在安全问题。在使用eval()。来源必须是值得信赖的。需要使用更安全的json解析器。在服务器不严格的编码在json或者如果不严格验证的输入,就有可能提供无效的json或者载有危险的脚本,在eval()中执行脚本,释放恶意代码。


文章由爱资料原创本文地址:https://www.apizl.com/archives/view-46-1.html,转载请以链接形式标明本文地址!
关键字词: