JSON.parse()与eval()的区别
来源:互联网 发布:11选5三角算法 编辑:程序博客网 时间:2024/05/18 00:22
JSON.parse与eval和能将一个字符串解析成一个JSON对象,但还是有挺大区别。
出于安全考虑用json.parse,它会自动检测是否符合json格式。而eval不会检测是否符合格式,如果字符串中有js代码时,eval会一并执行,例如:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>JaneYork的博客——eval测试</title></head><body><input type="button" value="测试" onclick="f()"></body><script type="text/javascript">function f(){/* eval("("+alert(123)+")"); */这里会弹框var test = '{"b" : window.location.href="https://www.baidu.com" }';这里会跳转eval("("+ test +")");};</script></html>
详细理解JSON请看:一分三十秒理解JSON
,eval执行了js代码,跳转到第三方网站,很不安全。
如果不清楚格式的话,可以使用JSON格式在线校验
阅读全文
0 0
- JSON.parse()与eval()的区别
- JSON.parse()与eval()之间的区别
- JSON.parse()与eval()函数的区别
- JSON.parse与eval的区别
- javascript中JSON.parse()与eval()解析json的区别
- 3 eval()函数与JSON.parse()区别
- JSON.parse(json)与eval的改变
- JSON.parse() 与 eval()
- JSON.parse() 与 eval()
- JSON.parse和eval的区别
- JSON.parse和eval的区别
- JSON.parse和eval的区别
- JSON.parse()和eval()的区别
- JSON.parse()和eval()的区别
- JSON.parse和eval的区别
- JSON.parse和eval的区别
- JSON.parse和eval的区别
- JSON.parse()和eval()的区别
- 阿里云windows server 2012 配置asp.net的IIS服务
- 【ARM-Linux开发】用VS2013+VELT-0.1.4进行海思平台 Linux内核 的开发
- #pragma pack()相关问题
- 新手学自定义View系列(一)Demo
- (十三)时间管理
- JSON.parse()与eval()的区别
- uva11987Almost Union-Find (并查集)
- Java线程池Executors
- HTML结构、表格、框架总结
- BerryGPS setup Guide for Raspberry Pi
- Spring中的AOP开发
- hdu 1226
- ROM、RAM、IROM、IRAM、DRAM、SRAM、Flash
- 数学建模_使用ginput函数提高CV模型程序的运行速度