当前位置: 首页 > news >正文

惠州专业网站制作公司谷歌google play官网下载

惠州专业网站制作公司,谷歌google play官网下载,建立学校网站,腾宁网络做网站1. 功能简介 FASTJSON支持AutoType功能,这个功能在序列化的JSON字符串中带上类型信息,在反序列化时,不需要传入类型,实现自动类型识别。 2. AutoType安全机制介绍 必须显式打开才能使用。和fastjson 1.x不一样,fast…

1. 功能简介

FASTJSON支持AutoType功能,这个功能在序列化的JSON字符串中带上类型信息,在反序列化时,不需要传入类型,实现自动类型识别。

2. AutoType安全机制介绍

  • 必须显式打开才能使用。和fastjson 1.x不一样,fastjson 1.x为了兼容有一个白名单,在fastjson 2中,没有任何白名单,也不包括任何Exception类的白名单,必须显式打开才能使用。这可以保证缺省配置下是安全的。
  • 支持配置safeMode,在safeMode打开后,显式传入AutoType参数也不起作用
  • 显式打开不推荐,打开后会有反序列化风险,打开AutoType不应该在暴露在公网的场景下使用。建议参照本文中的第5点代替AutoType功能。

3. fastjson2如何正确的打开autoType的功能

正常情况下,出于安全考虑,我们默认是关闭autoType的能力的,但是可以通过构建AutoTypeBeforeHandler白名单的方式来打开,废话不多说,上代码

package com.example.es.fastjson2;import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONReader;
import com.alibaba.fastjson2.JSONWriter;
import com.alibaba.fastjson2.filter.Filter;
import lombok.extern.slf4j.Slf4j;/*** @author peng.hu1* @Date 2023/9/1 14:45*/
@Slf4j
public class JSonSerializer {public JSONWriter.Feature[] features = new JSONWriter.Feature[]{JSONWriter.Feature.WriteClassName,JSONWriter.Feature.FieldBased,JSONWriter.Feature.ReferenceDetection,JSONWriter.Feature.NotWriteDefaultValue,JSONWriter.Feature.WriteNameAsSymbol,JSONWriter.Feature.WriteEnumsUsingName};private static final Filter autoTypeFilter;static {autoTypeFilter = JSONReader.autoTypeFilter(// 按需加上需要支持自动类型的类名前缀,范围越小越安全, 我这个就比较过分了,直接全部放开,哈哈"com.","org.","java.");}/*** 序列化* @param object 对象* @param classLoader* @return*/public byte[] serialize(Object object, ClassLoader classLoader) {ClassLoader swap = Thread.currentThread().getContextClassLoader();try {if (classLoader != null) {Thread.currentThread().setContextClassLoader(classLoader);}return JSON.toJSONBytes(object, features);} catch (Throwable t) {log.error("SerializeException" ,t);throw new RuntimeException("serialize error", t);} finally {if (classLoader != null) {Thread.currentThread().setContextClassLoader(swap);}}}public <T> T deserialize(byte[] bytes, Class<T> type, ClassLoader classLoader) {ClassLoader swap = Thread.currentThread().getContextClassLoader();try {if (classLoader != null) {Thread.currentThread().setContextClassLoader(classLoader);}try {return JSON.parseObject(bytes, type, autoTypeFilter,JSONReader.Feature.UseDefaultConstructorAsPossible,JSONReader.Feature.UseNativeObject,JSONReader.Feature.FieldBased);} catch (Exception e) {return JSON.parseObject(bytes, type);}} catch (Throwable t) {log.error("SerializeException" ,t);throw new RuntimeException("deserialize error", t);} finally {if (classLoader != null) {Thread.currentThread().setContextClassLoader(swap);}}}
}

这里面最核心的地方就在这里 JSONReader.autoTypeFilter(“*”), 这是个白名单过滤filter

http://www.skylitedrivein.com/news/779.html

相关文章:

  • 做网站录入和查询需求黄山网络推广公司
  • 黑马培训收费爱站seo工具包下载
  • 网站建设与管理试题一百度推广需要多少钱
  • 顺的网站建设信息百度推广服务费3000元
  • 湖南网站推广seo专员很难吗
  • 阿里云做的网站程序员seo优化排名技术百度教程
  • 做app的网站有哪些衡水网站seo
  • 海外房产网站建设长沙seo优化价格
  • 网站的ab测试怎么做网站内容优化关键词布局
  • 不花钱网站怎么做推广网站设计公司上海
  • 模板下载网站seo排名的职位
  • 深圳送花网站哪个好免费广告投放网站
  • 建设商城网站制作合肥关键词优化平台
  • thinkphp做网站淘宝推广怎么推
  • 河北建设工程招标协会网站南京谷歌推广
  • wordpress网站示例投稿网站
  • 网站被301跳转代理推广
  • 58同城哈尔滨网站建设网络口碑营销案例
  • 国外科技感强的网站国内免费域名注册网站
  • 保定 网站建设google关键词搜索量
  • 做流量的网站上海网络推广公司网站
  • 沽源网站建设企业域名查询
  • 网站设计实施网络营销推广软件
  • 哪些人可以做网站营销网络怎么写
  • WordPress科技网站my63777免费域名查询
  • 南充营销型网站建设微信管理系统平台
  • 在国内怎么做国外网站seo内容优化
  • 网站设计建设做网站优化的公司
  • 网站制作公司承担百度seo查询系统
  • 成都市建设路小学网站app推广活动策划方案