Open XML应用安全(3)隐藏数据 - 面向对象网,web开发,xml,学习,对象 - 面向对象技术开发

面向对象技术开发

会员投稿 投稿指南 站长资讯通告:
您的位置: 首页 > Web开发 > Xml > 正文

Open XML应用安全(3)隐藏数据

来源: www.bianceng.cn 阅读:

这里的隐藏数据是指Office文档默认存储的一些基本属性信息,很有可能会包含一些敏感信息,比如公司、创建者、签名、评论等。

针对隐藏信息,Office为我们提供了文档检查器。可以按照信任中心→个人信息选项→文档检查器的方式打开文档检查器。如图14-26所示。

\

图14-26  文档检查器

文档检查器是用来检查隐藏信息的,并提供了删除功能。现在再来看Office定义的个人信息,包括如下各项:姓名和缩写、公司和组织名称、计算机名、网络服务器和硬盘驱动器、其他文件属性和摘要信息、OLE对象、文档不同版本的作者信息、文档修订信息、文档版本信息、模板信息、隐藏文本、修订和批注。

当执行检查操作的时候,会列出含有隐藏信息的项,并给出删除功能,如图14-27所示。

\

图14-27  文档审查结果

如果想实现更灵活的功能,可以在代码中调用文档检查器。在C#中,可以通过调用Microsoft.Office.Core.IdocumentInspector接口来调用文档检查器的功能。如果你有VSTO的编程基础,可以编写一个Office插件来实现一些自定功能。当然,使用Open XML SDK 提供的API可以更方便的实现操作隐藏信息的功能。代码清单14-22是一个检索Word文档属性的例子。

代码清单14-22  检索Word文档属性

public static void GetPropertyFromDocument(string document)
    
{
    
   XmlDocument xmlProperties = new XmlDocument();
    
     
    
   using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(document, false))
    
   {
    
      ExtendedFilePropertiesPart appPart = wordDoc.ExtendedFilePropertiesPart;
    
     
    
      xmlProperties.Load(appPart.GetStream());
    
   }
    
   XmlNodeList chars = xmlProperties.GetElementsByTagName("Characters");
    
     
    
   MessageBox.Show(chars.Item(0).InnerText);
    
}

Tags:
相关文章列表: