Skip to main content

安全通知

提示

有关安全主题的全面信息,请参见 CODESYS 环境,请参阅: 安全

开发一个 HTML5 控件

无法传输大型阵列可能出现的任何数量的数据。在这种情况下,将数组与滚动范围功能绑定会很有帮助。这也允许更好的传输性能,因为仅传输实际需要的部分。

  • 编辑器类型ArrayRange

  • 财产种类更新

  • 变量类型: 数组的基本类型

因此,使用数组的接口属性配置 HTML5 控件,如下所示:

使用 HTML5 控件

重要

出于安全原因,在使用 HTML5 控件时,您必须注意它包含的功能可能会导致意外攻击。因此,可能会损坏 PLC 的操作。

  • 对 Web 服务器执行 DoS 攻击

  • 监视已在 HTML5 控件上配置的值

  • 从应用程序显示不正确的值

  • 向应用程序发送不正确的值

这些示例包括以下内容:

为了有效保护,有必要采取以下措施进行保护。

检查作者和内容

仅使用来自受信任作者的 HTML5 控件。

CODESYS 提供支持以防止对 HTML5 控件进行意外(和潜在的恶意)更改。使用的 HTML5 控件可以在编译或下载期间检查更改,并且必须首先在项目中对此进行确认。为这些 HTML5 控件的内容计算校验和(= 哈希值)。 HTML5 控件的作者可以提供其哈希值进行比较。

安全的 HTTPS 协议

使用 HTTPS。

使用 HTML5 控件,除了字符语句和输入事件(例如鼠标点击)之外,现在还可以传输从 IEC 变量读取或写入到 IEC 变量的值。这可以促进中间人攻击。

访问资源

默认情况下,HTML5 控件无法加载脚本或样式等资源。但是,元素本身提供的资源不包括在内。如果这需要从控制器以外的服务器加载内容,则可以通过调整 ContentSecurityPolicyIncludeTrustedOrigins 在自动生成的设置 webvisu.cfg.json 文件。

但是,不建议这样做,原因如下:

  • 然后也允许所有其他 HTML5 控件从这些允许的位置下载和使用内容。

  • Basic Level 无法控制从外部服务器加载的资源,因此无法保证可用性和兼容性。

  • 外部服务器可以提供恶意脚本,然后可以作为 HTML5 控件的一部分执行。例如,恶意脚本可以修改接收或发送的值或泄露信息。

文件操作

如果应用程序使用 HTML5 控件以及修改文件的能力,请小心。在文件操作的情况下,恶意用户可能能够将恶意代码插入 HTML5 控件。例如,当使用可视化的文本编辑器或类似的功能时,应该担心这一点 SysFile.

  • 应用程序开发人员负责确保检查用于修改的文件路径的有效位置(例如,不在 $PlcLogic$/$visu$文件夹)。如果可视化的用户可以自由输入要更改的文件的路径,则这尤其危险。

  • 我们建议您仅使用硬编码路径。或者,您还可以验证用户输入的路径是否在其预期位置。