Coding for Lightning Locker

DEX601 - Unit 2 Getting Started

📄 第 138 页 🎬 视频课程

课程章节介绍

今天我们来聊聊Salesforce的Lightning Locker,这是一个非常有趣且重要的安全架构。想象一下,如果你在一个大办公室里工作,每个人都有自己的小隔间,这样大家既能专注于自己的工作,又不会打扰到别人。Lightning Locker就像是给每个Lightning组件都提供了一个这样的小隔间,确保它们在自己的空间里安全运行,不会影响到其他组件。 首先,Lightning Locker自动启用了JavaScript的严格模式。这意味着你不需要在代码里特意写上“use strict”,它已经帮你做好了。这样可以帮助你避免一些常见的编码错误,比如忘记用var声明变量。而且,你使用的任何库也必须在严格模式下工作,这就像是确保所有的小工具都符合安全标准。 接下来,Lightning Locker限制了DOM访问。每个组件只能访问自己创建的元素,不能去碰其他组件的DOM。这就像是说,你只能在自己的隔间里活动,不能随便跑到别人的隔间去翻东西。这样可以防止一些不安全的操作,保护整个系统的安全。 此外,Lightning Locker还加强了内容安全策略(CSP)。它禁止了内联脚本和不安全的评估,这样可以减少跨站点脚本攻击的风险。不过要注意,IE 11不支持CSP,所以Salesforce建议使用其他浏览器来增强安全性。 最后,Lightning Locker还限制了全局引用的访问。你可以访问一些内部对象,比如数组,但对于像Windows这样的全局对象,Lightning Locker提供了安全版本。这些安全版本会自动控制对对象及其属性的访问,确保你的代码不会因为访问了不安全的全局对象而出问题。 总的来说,Lightning Locker通过隔离组件、启用严格模式、限制DOM访问、加强内容安全策略以及限制全局引用的访问,大大增强了Lightning组件的安全性。这样,你的代码不仅更安全,也更易于维护和支持。希望这些信息对你有所帮助!