值 规则 ID CA2310 类别 安全性 修复是中断修复还是非中断修复 非中断 原因 调用或引用了 System.Runtime.Serialization.NetDataContractSerializer 此规则查找 System.Runtime.Serialization.NetDataContractSerializer 反序列化方法调用或引用。 NetDataContractSerializer 不安全,无法确保安全。 有关详细信息,请参阅 BinaryFormatter 安全指南。 何时禁止显示警告 NetDataContractSerializer 不安全,无法确保安全。 NetDataContractSerializer.Binder
值 规则 ID CA2311 类别 安全性 修复是中断修复还是非中断修复 非中断 原因 在未设置 Binder 属性的情况下调用或引用了 System.Runtime.Serialization.NetDataContractSerializer 当 NetDataContractSerializer 未设置其 Binder 时,此规则会查找 System.Runtime.Serialization.NetDataContractSerializer 无论 Binder 属性如何,如果要使用 NetDataContractSerializer 禁止任何反序列化,请禁用此规则和 CA2312,并启用规则 CA2310。 何时禁止显示警告 NetDataContractSerializer 不安全,无法确保安全。 配置代码以进行分析 使用下面的选项来配置代码库的哪些部分要运行此规则。 serializer = new NetDataContractSerializer(); using (MemoryStream ms = new MemoryStream(bytes
此规则会在 Binder 可能为 NULL 时查找 System.Runtime.Serialization.NetDataContractSerializer 反序列化方法调用或引用。 无论 Binder 属性如何,如果要使用 NetDataContractSerializer 禁止任何反序列化,请禁用此规则和 CA2311,并启用规则 CA2310。 NetDataContractSerializer 不安全,无法确保安全。 有关详细信息,请参阅 BinaryFormatter 安全指南。 何时禁止显示警告 NetDataContractSerializer 不安全,无法确保安全。 配置代码以进行分析 使用下面的选项来配置代码库的哪些部分要运行此规则。 示例: 选项值 总结 dotnet_code_qualit相关规则 CA2310:请勿使用不安全的反序列化程序 NetDataContractSerializer CA2311:在未先设置 NetDataContractSerializer.Binder
WCF还包括一个伴随序列化程序NetDataContractSerializer。 NetDataContractSerializer与BinaryFormatter和SoapFormatter序列化程序类似,因为它也发出.NET Framework类型名称作为序列化数据的一部分。 DataContractSerializer和NetDataContractSerializer都派生自公共基类XmlObjectSerializer。
是你吗,NetDataContractSerializer? 事实证明,BinaryFormatter和 .NET 远程处理太危险而无法生存,MS 最终将其从 .NET 中删除。 这就是相似但不同的NetDataContractSerializer (NDCS) 类出现的地方。 FileStream(installStatePath); XmlReader xmlReader = XmlReader.Create(fileStream); var ser = new NetDataContractSerializer
不光是 BinaryFormatter 有风险,以下这些序列化器同样存在风险,应避免使用: SoapFormatter LosFormatter NetDataContractSerializer ObjectStateFormatter
创建⼀个XmlSerializerProxy代理器 ⽽XmlSerializerProxy代理中的Deserialize其中还是⽤的BinaryFormatterProxy,只是中间需要经过⼀层 NetDataContractSerializer
CA2310:请勿使用不安全的反序列化程序 NetDataContractSerializer 反序列化不受信任的数据时,会对不安全的反序列化程序造成风险。 CA2311:在未先设置 NetDataContractSerializer.Binder 的情况下,请不要反序列化 反序列化不受信任的数据时,会对不安全的反序列化程序造成风险。 CA2312:确保在反序列化之前设置 NetDataContractSerializer.Binder 反序列化不受信任的数据时,会对不安全的反序列化程序造成风险。
DataContractSerializer(定义在System.RunTime.Serializtion namespace中)、XMLSerializer(定义在System.XML.Serialization namespace)和NetDataContractSerializer 由于DataContractSerializer和NetDataContractSerializer基本上没有太大的区别,我们只讨论DataContractSerializer和XMLSerializer
CA2310:请勿使用不安全的反序列化程序 NetDataContractSerializer 反序列化不受信任的数据时,会对不安全的反序列化程序造成风险。 CA2311:在未先设置 NetDataContractSerializer.Binder 的情况下,请不要反序列化 反序列化不受信任的数据时,会对不安全的反序列化程序造成风险。 CA2312:确保在反序列化之前设置 NetDataContractSerializer.Binder 反序列化不受信任的数据时,会对不安全的反序列化程序造成风险。
CA2310:请勿使用不安全的反序列化程序 NetDataContractSerializer 反序列化不受信任的数据时,会对不安全的反序列化程序造成风险。 CA2311:在未先设置 NetDataContractSerializer.Binder 的情况下,请不要反序列化 反序列化不受信任的数据时,会对不安全的反序列化程序造成风险。 CA2312:确保在反序列化之前设置 NetDataContractSerializer.Binder 反序列化不受信任的数据时,会对不安全的反序列化程序造成风险。