使用安全json parser防止json注入
今天在网上瞎逛又看到了一个不错的东西。
有些程序员如果没有很好的在javascript中解析json数据,往往会直接eval把json转成js对象,这时候如果json的数据中包含了被注入的恶意数据,则可能导致代码注入的问题。 正确的做法是分割出json里包含的特殊字符,然后再解析为对象 [url]http://json.org/json2.js[/url] 中是通过正则来完成的。 // We split the second stage into 4 regexp operations in order to work around// crippling inefficiencies in IE's and Safari's regexp engines. First we// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we// replace all simple value tokens with ']' characters. Third, we delete all// open brackets that follow a colon or comma or that begin the text. if (/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { // In the third stage we use the eval function to compile the text into a// JavaScript structure. The '{' operator is subject to a syntactic ambiguity// in JavaScript: it can begin a block or an object literal. We wrap the text// in parens to eliminate the ambiguity. j = eval('(' + text + ')'); 目前不少写的好的框架和js解析函数都取用了这种做法。 所以,以后千万别直接eval了。 |
使用安全json parser防止json注入相关推荐
- Json Parser Online - Json 在线解析工具 1
Json Parser Online - Json 在线解析工具 1 http://json.parser.online.fr/ References https://yongqiang.blog.c ...
- retrofit2 发送json数据_SQLmap JSON 格式的数据注入
现在越来越多的网站开始使用 RESTFUL 框架,数据传输使用 JSON,那么这种情况下我们如何使用 SQLmap 进行自动化注入呢? 能使用 * 指定注入点吗? 先说结论:对于 JSON 数据的 S ...
- sqlmap自动扫描注入点_SQLmap JSON 格式的数据注入
现在越来越多的网站开始使用 RESTFUL 框架,数据传输使用 JSON,那么这种情况下我们如何使用 SQLmap 进行自动化注入呢? 能使用 * 指定注入点吗? 先说结论:对于 JSON 数据的 S ...
- json.parser性能_Jackson JSON Java Parser API示例教程
json.parser性能 Jackson JSON Java Parser is very popular and used in Spring framework too. Java JSON P ...
- IDEA插件之Json Parser
1. 基本信息 描述:用于验证和格式化 JSON 字符串 评分:4.9 | 下载:366,130 | 最新版本:1.5 Plugin地址:Json Parser - IntelliJ IDEs Plu ...
- idea之json格式化插件Json Parser
idea之json格式化插件Json Parser 安装插件 安装后重启idea 使用插件 Json Parser 为啥要用Json Parser,别问你也可以不用,废话不说,自己品! 安装插件 安装 ...
- json在线解析工具json formatter and json parser online
json在线解析工具json formatter and json parser online, 推荐工具http://www.bestjson.com
- android json mysql_Android通过json向MySQL中读写数据的方法详解【写入篇】
本文实例讲述了Android通过json向MySQL中写入数据的方法.,具体如下: 先说一下如何通过json将Android程序中的数据上传到MySQL中: 首先定义一个类JSONParser.Jav ...
- JSON字符串与JSON对象的区别
JSON JavaScript Object Notation是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式. json可以以数组传递,也可以以对象传递. 在数据传输流 ...
- php json.parse,JSON.parse()与JSON.stringify()和eval()使用方法详解
这次给大家带来JSON.parse()与JSON.stringify()和eval()使用方法详解,JSON.parse()与JSON.stringify()和eval()使用的注意事项有哪些,下面就 ...
最新文章
- linux zipinfo 命令详解
- Nginx-从零开始使用nginx实现反向代理及负载均衡
- Python 3.5将支持Async/Await异步编程
- 高情商的孩子是这样的
- struts2通过基于XML的配置实现校验没有提示信息
- 05 MapReduce应用案例01
- 风客科技网管培训资料
- vim Ctrl+S锁定屏幕
- Go的反射是如何获取结构体成员信息的?
- san分布式共享文件系统_基于SAN存储共享卷实现openstack高可用的方法与流程
- 裴蜀(贝祖)定理及其证明
- SqlServer触发器常用语法AFTER、INSTEAD OF及其详解
- 《软件工程》课程:期末复习提纲(超详细课本内容)
- 2022电大国家开放大学网上形考任务-劳动与社会保障法非免费(非答案)
- java 求tan角度求值_知道sin、cos、tan的角度如何求值,不用计算器
- Excel2003和Excel2007的区别
- 微信号名称乱码什么情况_2020最火微信号,微信号改成什么比较好?
- 确实实惠:海淘买鞋的经历:6PM +笨鸟海淘转运(单号: CN150625417260)
- Lumaqq移植到Android-登录篇
- ubuntukylin-16.04安装
热门文章
- 2019年贝莱德13亿美元收购另类投资服务商eFront
- 如何构建一个可用的企业级API网关?
- “超级买手”阿里:一年投资65笔,涉及金额高达5400亿
- 云上资源编排1.0到2.0的设计开发思考(含招聘)
- linux用户名不在sudoers,如何修复“用户名不在sudoers文件中。这个事件将报告“在Ubuntu...
- java redis高并发demo_java使用redis模拟高并发秒杀活动
- 【疾病分类】基于matlab LBP果实病害检测分类【含Matlab源码 1714期】
- 【元胞自动机】基于matlab元胞自动机短消息网络病毒传播仿真【含Matlab源码 1289期】
- SPSS调节效应检验(图文+数据集)【SPSS 045期】
- linux mint 引导类型,LinuxMint18配置Grub2默认启动操作系统