关于eval()的安全问题

都说eval()是不安全的,还有new Function()也是不安全的,啥脚本注入来着。但是该如何解决这种不安全的问题呢?我搜索了一下,貌似是啥脚本库之类的,但是大部分都是在分析他们的使用方法。所以请哪位研究过的大神,分析下该如何解决安全问题,或者说提供个脚本库参考下,^_^

www说
浏览 1380回答 3
3回答

森栏

只要你不使用eval执行用户输入的内容,问题不大。你先了解下XSS攻击。

摇曳的蔷薇

怎么个不安全法.讲清楚点

有只小跳蛙

首先感谢你的关注,至于如何不安全,我也没有见过,但是不管是网上还是哪里,都会有所耳闻,以我个人的理解应该是这样的。 比如说以下是从php所提供的接口中获取的数据信息。 var jsonStr = '{"a":1,"b":2,"c":function(){alert(1);}()}'; 其中的值都是用户提供的信息。 为了追加到页面,显示为用户,那么得转换成json形式。 var json = eval("("+jsonStr+")");  //或者 var json = new Function("return"+jsonStr)(); 结果是页面会alert(1); 换句话说,如果那个函数中不是alert(1);是打开某个链接,或者运行啥程序之类的,当然具体的操作我是不懂了,只是类似的。这样就感觉会不安全了,页面可以有用户操作了。 以上是我的理解。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript