没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:吉炜炜|2025-10-17 10:16:02.030|阅读 15 次
概述:近日,Stimulsoft 官方再次提醒开发者注意在报表加载与脚本执行过程中可能存在的安全风险,特别是在使用 “Compilation(编译)计算模式” 时。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
是一款专业的商业智能报表与数据可视化工具套件,广泛应用于企业级系统中,用于快速构建交互式报表、仪表盘和数据分析界面。其产品支持 .NET、JavaScript、PHP、Java 等多种开发平台,帮助开发者以可视化方式展现复杂数据,实现灵活的企业信息展示与决策支持。
近日,官方再次提醒开发者注意在报表加载与脚本执行过程中可能存在的安全风险,特别是在使用 “Compilation(编译)计算模式” 时。
当报表的计算模式被设置为 Compilation(编译)模式 时,在 Web Viewer 中打开报表时可能会执行嵌入代码。这些代码可能在服务器端被编译并运行,从而存在远程执行不安全代码(RCE)的风险。
需要特别说明的是:
Stimulsoft 本身并不存在可被直接利用的内置漏洞。
安全风险仅在特定项目配置下出现,例如:
报表计算模式设为 Compilation;
应用允许用户上传未经过验证的自定义报表文件。
为了最大程度降低风险, 官方建议开发者采取以下防护措施:
仅在必要且受信任的环境下使用 Compilation 模式。
在大多数情况下,推荐启用 Interpretation(解释)模式,该模式不进行即时编译,从根本上消除了远程代码执行风险。
可通过以下方式设置:
report.CalculationMode = StiCalculationMode.Interpretation;
或通过全局 Viewer 参数禁用加载带 Compilation 模式的报表:
StiOptions.Viewer.AllowOpenDocumentWithCompilation = false;
在 版本中,.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
文章转载自:慧都网Sparx SystemsEnterprise Architect通过其系统化的代码工程解决方案,有效建立了模型与代码之间的双向通道,实现了从可视化UML模型到可执行代码的高保真度、无缝转换。这一能力不仅提升了开发过程的自动化水平,更在根本上保障了软件架构的初始意图能够精准地贯彻至实现细节,为项目的成功交付奠定了坚实基础。
近日,ONLYOFFICE Docs 发布了全新 9.1 版本,本次更新带来了十余项全新功能、大量性能优化以及超过 500 项问题修复,让文档处理体验更高效、更智能。
一个基于.NET框架的报表生成器,能够帮助你创建结构、功能丰富的报表。报表设计器界面友好,使用便捷,让你轻松创建所有报表。
Stimulsoft Reports.Web第一款可以直接在Web中编辑报表的报表生成工具
Stimulsoft Reports.Wpf针对wpf用户界面架构开发的报表工具,无需上网,即能轻松实现控件所有功能
Stimulsoft Ultimate用于创建报表和仪表板的通用工具集,支持多种报表导出格式,拥有简单且强大的报表引擎
Stimulsoft Reports.PHP一款使用客户端-服务器技术在互联网上创建报表的报表工具
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢