半岛外围网上直营

【安全提示】Stimulsoft 报表脚本执行模式风险与防护建议

翻译|行业资讯|编辑:吉炜炜|2025-10-17 10:16:02.030|阅读 15 次

概述:近日,Stimulsoft 官方再次提醒开发者注意在报表加载与脚本执行过程中可能存在的安全风险,特别是在使用 “Compilation(编译)计算模式” 时。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

相关链接:

是一款专业的商业智能报表与数据可视化工具套件,广泛应用于企业级系统中,用于快速构建交互式报表、仪表盘和数据分析界面。其产品支持 .NET、JavaScript、PHP、Java 等多种开发平台,帮助开发者以可视化方式展现复杂数据,实现灵活的企业信息展示与决策支持。

近日,官方再次提醒开发者注意在报表加载与脚本执行过程中可能存在的安全风险,特别是在使用 “Compilation(编译)计算模式” 时。


⚠️ 潜在风险说明

当报表的计算模式被设置为 Compilation(编译)模式 时,在 Web Viewer 中打开报表时可能会执行嵌入代码。这些代码可能在服务器端被编译并运行,从而存在远程执行不安全代码(RCE)的风险。

需要特别说明的是:

Stimulsoft 本身并不存在可被直接利用的内置漏洞。
安全风险仅在特定项目配置下出现,例如:

  • 报表计算模式设为 Compilation;

  • 应用允许用户上传未经过验证的自定义报表文件。


✅ 官方安全建议

为了最大程度降低风险, 官方建议开发者采取以下防护措施:

1. 禁用 Compilation 模式

仅在必要且受信任的环境下使用 Compilation 模式。
在大多数情况下,推荐启用 Interpretation(解释)模式,该模式不进行即时编译,从根本上消除了远程代码执行风险。
可通过以下方式设置:

report.CalculationMode = StiCalculationMode.Interpretation;

或通过全局 Viewer 参数禁用加载带 Compilation 模式的报表:

StiOptions.Viewer.AllowOpenDocumentWithCompilation = false;

2. 使用解释模式脚本

在 版本中,.NET 平台已支持在 Interpretation 模式下执行 C# 脚本。
开发者可在脚本中安全使用变量、数据列、自定义函数及基本控制语句(if、else、循环等),满足大多数业务逻辑需求,同时确保系统安全。


🔒 报表上传安全建议

若应用允许用户上传报表文件,请务必:

  • 对上传文件进行结构验证(如 XML/JSON 内容分析);

  • 禁止执行用户代码;

  • 在隔离环境中保存与处理上传报表;

  • 限制系统用户的文件与数据访问权限。

此外,还可以在前端 Viewer 中通过拦截 “Open” 操作的方式临时阻止加载未知报表文件。

C#

...
<body>
	<form id="form1" runat="server">
		<cc2:StiWebViewer runat="server" ID="StiWebViewer1" OnGetReport="StiWebViewer1_GetReport" />
	</form>
	<script>
		jsStiWebViewer1.onready = function () {
		jsStiWebViewer1.postAction_ = jsStiWebViewer1.postAction;
		jsStiWebViewer1.postAction = function (action, bookmarkPage, bookmarkAnchor, componentGuid) {               
			if (action == "Open" || action == "OpenDashboard") {
				//Write your code here for the "Open"
				return;
			}
		jsStiWebViewer1.postAction_(action, bookmarkPage, bookmarkAnchor, componentGuid);
		}
	}
	</script>
</body>
...
JavaScript:
...
let viewer = new Stimulsoft.Viewer.StiViewer(viewerOptions, "StiViewer", false);
viewer.renderHtml("content");

viewer.jsObject.postAction_ = viewer.jsObject.postAction;

viewer.jsObject.postAction = function (action, bookmarkPage, bookmarkAnchor, componentGuid) {
	if (action === "Open" || action === "OpenDashboard") {
		//Write your code here for the "Open"
		return;
	}
	viewer.jsObject.postAction_(action, bookmarkPage, bookmarkAnchor, componentGuid);
}
...

⚙️ 开发者责任与安全边界

Stimulsoft 提供的编译与脚本功能是为了满足灵活的业务逻辑实现需求,而非默认行为。应用安全性取决于开发者对环境配置和功能使用的正确性。

我们再次强调:

  • Stimulsoft 产品不存在可直接利用的安全漏洞;

  • 仅当错误配置与未过滤的用户输入结合时,才可能出现潜在风险;

  • 如果出现以下情况,,不建议启用 Compilation 模式

    • 您不确定为什么需要它,或者您没有使用它提供的功能;
    • 允许用户上传自己的报告;
    • 没有额外的过滤或执行环境隔离。
为企业提供强大的数据可视化能力,同时也为开发者预留了灵活的安全配置选项。但是,启用高级功能(例如编译模式)时,限制用户输入和隔离执行环境的责任由应用程序开发人员自行承担。

---------------------------------------------------------------------------

关于慧都科技:

慧都科技是一家行业数字化解决方案公司,长期专注于软件、油气与制造行业。公司基于深入的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与长期竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技是Stimulsoft的在中国区的合作伙伴,Stimulsoft作为图表报表领域的优秀产品,帮助企业实现轻松构建高性能的表格报告及图表。

下载|体验更多Stimulsoft产品咨询,或拨打产品热线:023-68661681

加入图表报表技术交流QQ群(740060302),与更多小伙伴一起探讨提升开发技能。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn

文章转载自:慧都网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
Stimulsoft Reports.Net

一个基于.NET框架的报表生成器,能够帮助你创建结构、功能丰富的报表。报表设计器界面友好,使用便捷,让你轻松创建所有报表。

Stimulsoft Reports.Web

第一款可以直接在Web中编辑报表的报表生成工具

Stimulsoft Reports.Wpf

针对wpf用户界面架构开发的报表工具,无需上网,即能轻松实现控件所有功能

Stimulsoft Ultimate

用于创建报表和仪表板的通用工具集,支持多种报表导出格式,拥有简单且强大的报表引擎

Stimulsoft Reports.PHP

一款使用客户端-服务器技术在互联网上创建报表的报表工具

title
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP
利记足球官网(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 真人boyu·博鱼滚球网(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 最大网上PM娱乐城盘口(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 正规雷火竞技官方买球(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 雷火竞技权威十大网(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) boyu·博鱼信誉足球官网(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 权威188BET足球网(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 正规188BET足球大全(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新)