- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Mozilla Firefox 的 XPCSafeJSObject 包装器实际上做了什么?
MDC的文档如下:
This wrapper was created to address some problems with XPCNativeWrapper. In particular, some extensions want to be able to safely access non-natively-implemented content defined objects (and to access the underlying JavaScript object under an XPCNativeWrapper without its strong behavior guarantees). XPCSJOW act as a buffer between the chrome code.
这并没有告诉我很多。特别是,我不知道通过 XPCSafeObject 访问对象与直接访问它们有何不同。
编辑:我理解包装器的一般目的是保护特权代码不受非特权代码的影响。我不明白(而且似乎没有记录)的是 XPCSafeJSObject 如何做到这一点。
它是否只是在访问属性之前放弃特权?
最佳答案
实际上 XPCSafeJSObjectWrapper 用于所有内容对象,包括窗口和文档(实际上这是最常需要的地方。)我相信它的发明主要是为了阻止 XSS 攻击自动变成特权升级攻击(通过对浏览器本身)。至少现在如果发现 XSS 攻击(不幸的是人们会继续寻找)它不会危及整个浏览器。这是 XPCNativeWrapper 的自然发展,它最初是浏览器防御 XSS 攻击的手动方式(因此容易被扩展误用)。
关于javascript - XPCSafeJSObjectWrapper 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/240362/
Mozilla Firefox 的 XPCSafeJSObject 包装器实际上做了什么? MDC的文档如下: This wrapper was created to address some pro
我是一名优秀的程序员,十分优秀!