为了账号安全,请及时绑定邮箱和手机立即绑定

关于eval()的安全问题

关于eval()的安全问题

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

3 回答

?
森栏

TA贡献1810条经验 获得超5个赞

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

查看完整回答
反对 回复 2018-12-24
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

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

查看完整回答
反对 回复 2018-12-24
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

首先感谢你的关注,至于如何不安全,我也没有见过,但是不管是网上还是哪里,都会有所耳闻,以我个人的理解应该是这样的。

比如说以下是从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);是打开某个链接,或者运行啥程序之类的,当然具体的操作我是不懂了,只是类似的。这样就感觉会不安全了,页面可以有用户操作了。

以上是我的理解。

查看完整回答
反对 回复 2018-12-24
  • 3 回答
  • 0 关注
  • 1379 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号