3

文档说:

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

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

有人可以解释这个问题吗?

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

谢谢

4

1 回答 1

3

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

于 2010-03-31T20:27:43.000 回答