【问题标题】:.NET: What is the purpose of the ProhibitDtd property in XmlReaderSettings? Why is DTD a security issue?.NET:XmlReaderSettings 中 ProhibitDtd 属性的用途是什么?为什么 DTD 是一个安全问题?
【发布时间】:2011-02-03 02:42:11
【问题描述】:

The documentation 说:

当设置为 true 时,当遇到任何 DTD 内容时,XmlReader 将引发 XmlException。 如果您担心拒绝服务问题或正在处理不受信任的来源,请不要启用 DTD 处理。

如果您启用了 DTD 处理,则可以使用 XmlSecureResolver 来限制 XmlReader 可以访问的资源。您还可以设计您的应用程序,使 XML 处理受内存和时间限制。例如,在您的 ASP.NET 应用程序中配置超时限制。

谁能解释一下这个问题?

为什么阅读器应用程序要禁止检索 DTD?如果是阅读应用程序,拒绝服务问题在哪里?提到的“信任”问题是什么?

谢谢

【问题讨论】:

    标签: .net dtd xmlreader


    【解决方案1】:

    查看MSDN Magazine,它解释了与 DTD 相关的攻击。总之,可以创建一个相对较短的 XML 文件,当由于 DTD 进行扩展时,会消耗大量 MB 的 RAM,从而使处理机器处于饥饿状态。

    【讨论】:

      猜你喜欢
      • 2011-04-08
      • 2010-10-02
      • 2019-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-01
      相关资源
      最近更新 更多