企业版
概述
通常您的网站从单一 URL 加载 Asyntai 挂件,因此每当我们发布更新时,所有人都会在下次页面加载时获得它。这正是大多数客户所希望的。但如果您运营的是受监管的网站,无法在未经审查的情况下让第三方代码在您的生产页面上发生变化,那么您可以改为将集成锁定到特定版本。挂件将冻结在您锁定时的确切字节,并且您的嵌入代码携带完整性哈希值,因此浏览器本身会验证该文件。
工作原理
- 您开启锁定 - 我们会将当前挂件快照为专供您网站使用的私有冻结副本
- 您获得经过完整性验证的嵌入代码 - 一个可直接粘贴的脚本标签,带有子资源完整性哈希值和特定版本的 URL
- 我们的部署不再触及您的网站 - 冻结副本永不改变,因此我们发布的任何内容都不会改动您的生产代码
- 您自行选择何时更新 - 一键即可快照最新版本并签发新的哈希值;准备就绪后,您再粘贴新的代码段
我们部署更新 被忽略
您的网站照常运行 锁定的版本
什么是子资源完整性哈希值?
这是一项浏览器安全功能。您的脚本标签包含一个 integrity 属性,其中保存了该确切文件的哈希值。在运行文件之前,浏览器会对下载的内容进行哈希计算并进行比较。如果因文件被篡改或网络遭到入侵而导致哪怕一个字节不同,浏览器都会拒绝运行它。这是抵御针对第三方脚本的供应链攻击的标准防御手段。
哈希值覆盖的范围
完整性哈希值验证的是挂件的代码文件。挂件随后加载的实时数据——您的设置、产品和消息——通过单独的、受保护的连接传输,不属于哈希值的一部分。这是正常的:哈希值保护的是代码,而代码正是供应链攻击的目标。
如何开启
- 从您的仪表板打开挂件版本锁定页面
- 将其开启——您的冻结代码段会立即出现
- 用锁定的脚本标签替换您当前的 Asyntai 脚本标签,包括完全按照所示的 integrity 和 crossorigin 属性
采用更新
当我们发布新版本时,您的仪表板会显示有可用更新。您查看后,点击更新以快照最新版本,并将新代码段粘贴到您的网站中。由于完整性哈希值会随代码一同改变,更新始终意味着替换脚本标签——这是有意为之的设计,也正是保持验证真实可靠的方式。
值得了解
- 没有您的操作,一切都不会改变 - 在您采用更新之前,锁定的网站不受我们部署的影响
- 您可能会错过改进和修复 - 锁定意味着在您更新之前,新功能和错误修复不会到达您这里
- 我们会通知您安全更新 - 由于锁定的挂件不会自动更新,如果您锁定的版本需要安全修复,我们会与您联系
- crossorigin 属性是必需的 - 只有当脚本标签包含 crossorigin 属性时,子资源完整性才会生效;请完全按照所示保留它
- 关闭它 - 会将您切换回始终最新的嵌入代码;请用标准脚本标签替换锁定的脚本标签