带批注的架构安全注意事项(SQLXML 4.0)

下面是使用带批注架构的安全准则:

  • 避免在映射架构中使用默认映射。 默认映射公开生成的 XML 文档中的数据库信息(表和列名),因为默认情况下,元素名称映射到表名和属性名称映射到列名。 因此,任何看到 XML 文档的用户都有权访问数据库中的表和列信息,从而带来潜在的安全风险。 若要避免此风险,请在架构中指定任意元素和属性名称,并使用批注将其显式映射到表和列。 有关在创建 XSD 架构时使用默认映射的详细信息,请参阅 XSD 元素和属性到表和列的默认映射(SQLXML 4.0)。

  • 使用批注指定的显式映射公开数据库信息(如表名和列名)。 因此,你可能不希望公开提供这些架构。

  • 某些查询(如针对映射架构指定的查询(使用 max-depth 批注集指定为更高的值指定)可能需要更长的时间才能执行。 可以选择通过设置 Command Time Out 属性(以秒为单位)来指定超时限制。 例如:

    cn.Open "Provider=SQLOLEDB;Server=localhost;Database=tempdb;Integrated Security=SSPI;Command Properties='Command Time Out=50';"  
    

另请参阅

SQLXML 4.0 中带批注的 XSD 架构