
在线文档查看非常便利。用户可以直接在浏览器中打开文件,而无需安装桌面软件、下载每个文件或在不同应用之间切换。
然而,当文档包含敏感信息时,工作流需要谨慎设计。合同、发票、法律文件、人力资源记录、财务文件、医疗记录以及内部报告等,都不应在没有明确的访问、存储、查看、打印和清理规则的情况下处理。
当用户需要简单的在线文档查看体验时,Doconut.app 很有用。对于需要在自有 .NET 应用中进行受控文档查看的公司,Doconut Viewer 是主要的产品。
本文阐述了在在线查看期间保护敏感文档的实用最佳实践,以及何时在业务工作流中考虑使用 Doconut 的 .NET Viewer SDK。
1. 了解在线查看与应用受控查看之间的区别
并非所有文档查看工作流的风险水平都相同。
简单的在线查看器可用于快速文档预览,尤其是当文件不敏感或用户只需要在浏览器中快速打开文档时。
然而,敏感的业务文档通常需要更多控制。在这种情况下,文档查看应成为应用工作流的一部分。
受控工作流通常包括:
- 用户身份验证
- 基于角色的权限
- 批准的存储位置
- 访问日志记录
- 下载规则
- 打印规则
- 临时文件清理
- 内部安全策略
- 应用层面的文档访问检查
对于 .NET 团队,Doconut Viewer 可用于在业务应用中直接显示文档,同时让应用控制身份验证、授权、存储和工作流规则。
2. 避免将敏感文件上传至未知服务
免费或公共的在线查看器对非敏感文件可能有帮助,但在处理机密文档时应谨慎使用。
在将敏感文件上传至任何在线服务之前,请考虑以下问题:
- 文件在哪里处理?
- 查看后文件是否被存储?
- 存储时长是多少?
- 文件是否可以通过公共链接访问?
- 服务是否说明了其文件处理政策?
- 贵组织是否允许此类上传?
- 文档是否属于机密、受监管或业务关键?
如果答案不明确,请避免上传该文件。
对于快速、非敏感的查看,Doconut.app 可能有用。对于内部业务系统,受控的 .NET 查看器(如 Doconut Viewer)通常更合适。
3. 将敏感文档保留在您自己的应用工作流中
对于敏感文件,通常最好将文档保留在您自己的应用环境中。
更安全的工作流可能如下:
- 用户登录您的应用。
- 您的应用检查用户的权限。
- 从批准的存储源加载文档。
- 文档在应用内部显示。
- 应用控制用户是否可以下载、打印、批注或转换文件。
- 如有需要,应用记录相关操作日志。
这将文档活动保留在您的业务系统内部,而不是将用户发送到独立工具或外部工作流。
根据 Doconut FAQ,Doconut 并非 SaaS 服务。它安装在客户自己的环境中,不会调用 Doconut 服务器。这对希望在自有基础设施中进行文档查看的团队尤为重要。
4. 使用应用层访问控制
查看器不应是唯一的安全层。您的应用程序应决定谁可以打开每个文档。
重要的访问控制实践包括:
- 要求用户在查看文档前登录。
- 在打开文件前检查文档权限。
- 在适当情况下使用基于角色的访问控制。
- 避免公开直接的文件路径。
- 将机密文件保存在批准的存储位置。
- 在业务要求时记录文档访问。
- 将公共文件与机密文件分离。
例如,经理可能被允许查看并打印合同,而其他用户可能只能查看。这些规则应由您的应用程序强制执行。
Doconut Viewer 可以成为此工作流的一部分,但您的应用程序仍应负责身份验证、授权和文档访问规则。
5. 在查看前验证文件
拖放上传界面可以让用户更轻松地查看文档,但它不应绕过验证。
在打开或处理上传的文件之前,请在服务器端进行验证。
推荐的检查包括:
- 文件扩展名
- 文件大小
- MIME 类型
- 尽可能检查文件头
- 用户上传权限
- 存储位置
- 允许的文档类别
- 如果组织要求,进行病毒或恶意软件扫描
客户端验证可以提升用户体验,但不应被视为唯一的防护。始终在服务器端强制验证。
6. 小心下载和打印选项
查看文档不同于允许用户下载或打印它。
一旦用户下载或打印文件,文档可能脱离应用程序的控制。这在某些工作流中可能是可接受的,但并非全部。
在启用下载或打印选项之前,请考虑以下问题:
- 是否应允许该用户下载文档?
- 该文档类型是否应允许打印?
- 打印是否应取决于角色或工作流状态?
- 打印的页面是否应包含水印?
- 是否应记录打印事件?
- 是否应让某些文件仅限查看?
对于需要打印控制的工作流,请注意受控打印是 Doconut Viewer 本身的一部分,而不是单独授权的附加组件。打印行为与查看器的其他设置一起配置。
7. 审查临时文件、缓存和清理
文档查看可能涉及临时文件、缓存条目、生成的图像或转换输出,这取决于实现方式。
对于敏感文档,开发者应了解:
- 是否会创建临时文件
- 临时文件存放位置
- 缓存内容保留多长时间
- 是否会生成转换文件
- 生成的文件是否需要清理
- 应用程序是使用内存缓存还是分布式缓存
- 文件是否会自动备份
- 日志是否包含敏感文件内容
除非产品文档明确说明,否则避免模糊的假设,例如“文件会自动删除”。
在 .NET 应用程序中使用 Doconut 时,请查看官方文档和来自 下载 Doconut 页面 的示例,以正确配置查看器以适应您的环境。
8. 使用批准的存储来源
业务应用程序通常在不同位置存储文档。某些文件可能存储在服务器路径、数据库、流、URL、内部网位置或云存储中。
Doconut 常见问题 提到支持从物理路径、流、二进制源、数据库、URL、内部网位置、IP 地址以及云提供商(如 Amazon AWS S3、Azure Storage、Google Cloud、Dropbox 和 Redis)查看文件。
这对于已有成熟文档存储模型的应用程序非常有用。
对于敏感文档,请确保存储访问由您的应用程序控制。除非专门设计为有限且受控访问,否则避免使用公共 URL 访问机密文件。
9. 使用适合您的 .NET 应用程序的查看器
如果您正在构建 .NET 应用程序,查看器应当适配您的架构,而不是强迫用户进入单独的工作流。
Doconut 查看器 专为 .NET Web 应用场景设计。它可与 ASP.NET、MVC、.NET Core、.NET 6+、Blazor 以及相关环境一起使用。
Doconut 还提供实时演示环境,开发者可以测试不同的查看器场景:
在开始实现之前评估查看器是否适合您的应用程序时,这非常有用。
10. 仅在需要时添加搜索、批注、转换和打印
并非所有应用程序都需要所有文档功能。请从用户实际需要的工作流开始。
有些应用只需要查看。其他可能需要搜索、批注、转换、打印或上述全部功能。
Doconut 为 Viewer SDK 销售四款可选插件:
受控打印不在其中。它是查看器的功能,因此您需要进行配置,而不是购买许可证。
根据真实的业务需求添加这些功能。
例如:
- 当用户需要在大型文档中查找词语时使用搜索。
- 当用户需要审阅、标记或对文件发表评论时使用批注。
- 当工作流需要新的输出格式时使用转换。
- 当打印应受权限或工作流规则限制时使用受控打印。
11. 推荐的安全查看工作流
安全的文档查看工作流可能如下所示:
- 用户登录应用程序。
- 应用程序检查用户的角色和权限。
- 用户选择文档。
- 应用程序从批准的来源加载文档。
- Doconut Viewer 在应用程序内部显示文档。
- 应用程序控制下载、打印、批注、搜索和转换操作。
- 如有需要,应用程序记录相关操作。
- 应用程序根据内部规则管理临时文件、缓存、存储和清理。
此方法将文档活动保持在应用程序内部,并为开发者提供对敏感文件处理的更好控制。
最佳实践检查清单
在发布或部署敏感文档查看工作流之前,请检查以下清单:
- 确定文档是公开、内部、机密还是受监管的。
- 避免将机密文件上传到文件处理政策不明确的服务。
- 将敏感文件保留在批准的应用工作流中。
- 在访问文档前要求身份验证。
- 在打开每个文件前检查权限。
- 在服务器上验证上传的文件。
- 避免直接的公开文件路径。
- 决定是否允许下载。
- 决定是否允许打印。
- 在需要时记录访问日志。
- 审查临时文件和缓存行为。
- 如果启用了转换,审查转换后输出的存储。
- 使用批准的存储位置。
- 使用真实用户文档进行测试。
- 与内部团队一起审查部署和安全设置。
何时使用 Doconut.app
当您需要简易的在线文档查看体验时,请使用 Doconut.app。
它可用于:
- 快速文档预览
- 测试文件在浏览器中的打开方式
- 在线查看非敏感文件
- 避免为基本查看需求安装桌面软件
对于业务关键或敏感的文档工作流,请审查贵组织是否需要受控的应用级查看器。
何时使用 Doconut Viewer SDK
当满足以下情况时使用 Doconut 查看器:
- 您正在构建 .NET 应用程序。
- 用户需要在系统内部预览文档。
- 您的应用程序必须控制访问和权限。
- 文档应遵循您的基础设施规则。
- 您需要支持多种业务文档格式。
- 您需要搜索、批注、转换或受控打印工作流。
- 您希望获得示例、文档、实时演示和供应商支持。
您可以从以下开始:
要点
- 在线文档查看很方便,但敏感文件需要谨慎的工作流程。
- 避免将机密文件上传到文件处理政策不明确的服务。
- 您的应用程序应控制身份验证、授权、存储、日志记录、下载和打印规则。
- 在打开或处理文件之前,请在服务器上验证文件。
- 审查临时文件、缓存和转换后的输出。
- Doconut.app 对于简单的在线文档查看很有用。
- Doconut Viewer SDK 是在 .NET 应用程序中进行受控文档查看的更佳选择。
常见问题
在线文档查看对敏感文件安全么?
这取决于工作流程。对于敏感文件,需要确认文件的处理位置、是否被存储、谁可以访问,以及贵组织是否允许该过程。
我应该使用 Doconut.app 来处理机密业务文件吗?
Doconut.app 可用于简单的在线查看,但机密业务工作流通常需要应用层面的访问控制。在这种情况下,请审查适用于 .NET 应用程序的 Doconut Viewer SDK。
Doconut Viewer 会将文件发送到 Doconut 服务器吗?
根据 Doconut FAQ,Doconut 安装在客户自己的环境中,不会向 Doconut 服务器发起调用。
Doconut 能与 ASP.NET MVC、.NET Core、.NET 6+ 或 Blazor 一起使用吗?
可以。Doconut FAQ 提到支持 ASP.NET MVC、.NET Core、.NET 6+ 和 Blazor。
Doconut 能从云存储加载文件吗?
可以。Doconut FAQ 提到支持 Amazon AWS S3、Azure Storage、Google Cloud、Dropbox 和 Redis。
我可以在哪里测试 Doconut 功能?
您可以在此查看官方演示:
结论
在在线查看期间保护敏感文档需要的不仅仅是浏览器预览。开发者应设计完整的工作流程,以控制身份验证、权限、文件存储、下载、打印、日志记录、缓存和清理。
Doconut.app 对于简单的在线查看场景很有用。对于需要在 .NET 环境中受控文档查看的业务应用程序,Doconut Viewer 是主要的评估产品。
欲了解更多信息,请查看官方 Doconut 资源: