Fastjson报autotype is not support

2024-04-13 14:44
文章标签 support fastjson autotype

本文主要是介绍Fastjson报autotype is not support,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系列文章目录


文章目录

  • 系列文章目录
  • 前言


前言

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
在这里插入图片描述


打开AutoType功能

在1.2.25之后的版本,以及所有的.sec01后缀版本中,autotype功能是受限的,和之前的版本不同,如果在升级的过程中遇到问题,可以通过以下方法配置。

注意:如果配置了safeMode,配置白名单也是不起作用的。
一、添加autotype白名单
添加白名单有三种方式,三选一,如下:

  1. 在代码中配置
ParserConfig.getGlobalInstance().addAccept("com.taobao.pac.client.sdk.dataobject.");

如果有多个包名前缀,分多次addAccept

  1. 加上JVM启动参数
    -Dfastjson.parser.autoTypeAccept=com.taobao.pac.client.sdk.dataobject.,com.cainiao.

如果有多个包名前缀,用逗号隔开

  1. 通过fastjson.properties文件配置。

在1.2.25/1.2.26版本支持通过类路径的fastjson.properties文件来配置,配置方式如下:

fastjson.parser.autoTypeAccept=com.taobao.pac.client.sdk.dataobject.,com.cainiao. 
// 如果有多个包名前缀,用逗号隔开

二、打开autotype功能
如果通过配置白名单解决不了问题,可以选择继续打开autotype功能,fastjson在新版本中内置了多重防护,但是还是可能会存在一定风险。两种方法打开autotype,二选一,如下:

1、JVM启动参数

-Dfastjson.parser.autoTypeSupport=true

2、代码中设置

ParserConfig.getGlobalInstance().setAutoTypeSupport(true);

如果有使用非全局ParserConfig则用另外调用setAutoTypeSupport(true);

三、配置autoType黑名单
打开AutoType之后,是基于内置黑名单来实现安全的,但黑名单是穷举不完的,如果发现了新的风险类,可以通过以下配置来增加黑名单:

  1. 配置JVM启动参数
-Dfastjson.parser.deny=xx.xxx

这里的xx.xxx是包名前缀,如果有多个包名前缀,用逗号隔开

  1. 通过fastjson.properties来配置

在1.2.25之后的版本支持通过类路径的fastjson.properties文件来配置,配置方式如下:

-Dfastjson.parser.deny=xx.xxx

这里的xx.xxx是包名前缀,如果有多个包名前缀,用逗号隔开

  1. 代码中配置
ParserConfig.getGlobalInstance().addDeny("xx.xxx");

这里的xx.xxx是包名前缀,如果有多个包名前缀,用逗号隔开

在这里插入图片描述

这篇关于Fastjson报autotype is not support的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/900423

相关文章

the following classes could not be found android.support.v7.internal.

打开XML的界面时候显示 rendering problems: the following classes could not be found android.support.v7.internal.....。 后来发现http://stackoverflow.com/questions/33742114/the-following-classes-could-not-be-fou

兔子--Android Support v4,Android Support v7,Android Support v13

Android Support Library package用于高版本的特性的向下兼容。 (fragement,ViewPager) Android Support v4:  这个包是为了照顾1.6及更高版本而设计的,这个包是使用最广泛的,eclipse新建工程时,都默认 带有了。 Android Support v7:  这个包是为了考虑照顾2.1及以上版本而设计的,

兔子--Android Support v4包丢失的解决办法

在开发中,Android Support v4包丢失的解决办法: Project->properties->Java Build Path->Libraries->Add External Jars 中加入sdk目录下的extras/android/support/v4/android-support-v4.jar (如果找不到,则需要用sdk manager下载andro

Android编程之解决android-support-v4打包混淆编译的问题

转载自:http://blog.csdn.net/a348163124/article/details/19545909 如果工程引入了android-support-v4的jar类库,那么在工程打包混淆时,就会出现报错提示。例如提示你:You may need to specify additional library jars (using ‘-libraryjars’)。 这里先给出解决

Failed to resolve: com.android.support:appcompat-v7:xx.+

1、错误信息 Error:(26, 13) Failed to resolve: com.android.support:appcompat-v7:27.+ 2、环境描述 Android Studio 2.3.3 如下图所示 注意:支持的Android SDK Tools 是 25.2.4 3、场景复现 导致这个问题时本人用Android Studio 2.3.3 创建一

com.alibaba.fastjson.JSONArray循环引用导致{“$ref“:“$[0]“}

发一个库存~ 在for循环中将对象add到.JSONArray中,arr.toJSONString(),输出的结果如下: [{"sex":"男","age":"10","name":"张三"},{"$ref":"$[0]"},{"$ref":"$[0]"}] 最终发现 这是个JSONArray的问题; 验证逻辑: 在for循环外声明对象JSONArray arr,和JSONObjec

坑——fastjson将字符串转到带枚举的java对象

fastjson将不同的字符串转换成带枚举的java对象时,不同的字符串值转换成java对象的结果不同; 测试用fastjson版本: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.83</version> </dependency>  测试用的jav

JSON处理库 -- Fastjson

文章目录 一、json格式1.1 用途1.2 语法1.3 常见格式 二、fastjson常用类2.1 JSONObject2.2 JSONArray 三、序列化和反序列化3.1 默认序列化与反序列化3.2 序列化的扩展3.3 自定义序列化SerializeFilter3.4 @JSONField 注解3.5 复习Jackson 一、json格式 1.1 用途 一种轻量

算法——支持向量机(support vector machines,SVM)

简介:个人学习分享,如有错误,欢迎批评指正 支持向量机(Support Vector Machine, SVM)是一种监督学习算法,广泛用于分类任务,也可以用于回归和异常检测等问题。SVM的核心思想是通过在特征空间中找到一个最优的分隔超平面,将不同类别的数据点分开,使得各类别之间的间隔最大化。 一、SVM的基本概念 1. 超平面 在二维空间中,超平面就是一条直线,而在高维空间中,超平面

fastjson--Gson生成Json字符串,并且解析Json字符串生成对象

json.jar地址下载 点击打开链接 +++++++++++++++++++++++++++++先看fastjson的使用方法++++++++++++++++++++++++++++++++ Student package com.example.fastjson;public class Student { private String name; private int