设置为true时,遇到任何DTD内容时,XmlReader会抛出XmlException。 如果您担心拒绝服务问题或者您正在处理不受信任的来源,请不要启用DTD处理。
如果启用了DTD处理,则可以使用XmlSecureResolver限制XmlReader可以访问的资源。您还可以设计应用程序,以便XML处理受内存和时间限制。例如,在ASP.NET应用程序中配置超时限制。
有人可以解释一下这个问题吗?
为什么读者应用程序要禁止检索DTD?如果是阅读申请,拒绝服务问题在哪里?提到的“信任”问题是什么?
由于
答案 0 :(得分:3)
查看MSDN Magazine,它解释了与DTD相关的攻击。总之,可以创建一个相对较短的XML文件,当由于DTD而扩展时,会消耗大量的MB RAM,使处理机器处于饥饿状态。