使用编译计算模式的报告能够执行使用报告脚本语言实现的各种脚本。然而,这些场景并不总是安全的,从网络安全的角度来看,可能会导致负面情况。经过分析情况,我们决定加强有关编译模式报告的安全策略。但让我们一步一步来。顺便说一下,本文对计算模式进行了详细的比较。
Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能,Stimulsoft Ultimate包含了所有内容!
Stimulsoft Reports.Ultimate不仅拥有强大的报表导出系统,而且还支持多种报表导出格式,拥有简单且强大的报表引擎。Stimulsoft Reports.Ultimate基本原则是,用简单常规的方法创建报表,将不同的技术应用于应用程序。
Stimulsoft Reports官方正版下载(qun:740060302)https://www.evget.com/product/2398/download
第一级保护
生成新报告和仪表板时会出现问题,因为默认报告计算模式设置为Interpretation。如果需要,您可以随时修改它。为此,请将"计算模式"报告模板属性调整为"编译",并在阅读警告消息后,单击"切换到编译"按钮。
第二级防护
问题在于,通过利用参数及其各种值,您可以定义在设计器或查看器中打开并进行编译的报表的行为。您可以使用"报告设计器选项"菜单的"主要"选项卡上 的 "编译访问" 选项来自定义访问编译报告时的行为。将根据所选值确定行为。让我们更详细地研究一下它们。1) Ask值允许根据用户选择定义行为。换句话说,当尝试打开带有编译的报告时,用户将需要选择以下选项之一:
- 以安全模式打开 ,意味着报表的计算模式将被强制设置为解释;
- 打开,使用 编译 计算模式加载报告,以及与执行不安全脚本相关的所有潜在风险;
- 取消,停止加载报表并将其编译到设计器或报表查看器中。
2)允许 值允许在没有任何通知的情况下将编译报告加载到设计器或查看器中。这是最不安全的模式,因为用户在打开报表时不会收到潜在风险的提醒。
3)当在设计器或查看器中打开时,强制解释 值强制所有报表采用解释计算模式。
- Deny 值使得无法在设计器或查看器中使用编译 计算模式打开报表。在这种情况下,将向用户显示限制消息。
此外,对于 Stimulsoft 组件,您可以使用各种选项定义打开编译报告时的行为。例如:
StiOptions.Designer.CompilationAccess == StiCompilationAccess.Allow;
某些组件的选项可能不可用。例如,JS 组件的 CompilationAccess 选项不适用,因为 JavaScript 的报告工具缺乏编译模式,所有报告都以解释模式加载。